NETEXT Working Group                                  CJ. Bernardos, Ed.
Internet-Draft                                                      UC3M
Intended status: Standards Track                         January 8, 2016
Expires: July 11, 2016


         Proxy Mobile IPv6 Extensions to Support Flow Mobility
                  draft-ietf-netext-pmipv6-flowmob-16

Abstract

   Proxy Mobile IPv6 allows a mobile node to connect to the same Proxy
   Mobile IPv6 domain through different interfaces.  This document
   describes extensions to the Proxy Mobile IPv6 protocol that are
   required to support network based flow mobility over multiple
   physical interfaces.

   The extensions described in this document consist of the operations
   performed by the local mobility anchor and the mobile access gateway
   to manage the prefixes assigned to the different interfaces of the
   mobile node, as well as how the forwarding policies are handled by
   the network to ensure consistent flow mobility management.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 11, 2016.






Bernardos                 Expires July 11, 2016                 [Page 1]


Internet-Draft            PMIPv6 flow mobility              January 2016


Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview of the PMIPv6 flow mobility
       extensions  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  Use case scenarios  . . . . . . . . . . . . . . . . . . .   4
     3.2.  Basic Operation . . . . . . . . . . . . . . . . . . . . .   5
       3.2.1.  MN sharing a common
               set of prefixes on all MAGs . . . . . . . . . . . . .   5
       3.2.2.  MN with different
               sets of prefixes on each MAG  . . . . . . . . . . . .   9
     3.3.  Use of PBU/PBA signaling  . . . . . . . . . . . . . . . .  11
     3.4.  Use of flow-level information . . . . . . . . . . . . . .  12
   4.  Message Formats . . . . . . . . . . . . . . . . . . . . . . .  12
     4.1.  Home Network Prefix . . . . . . . . . . . . . . . . . . .  12
     4.2.  Flow Mobility Initiate (FMI)  . . . . . . . . . . . . . .  13
     4.3.  Flow Mobility Acknowledgement (FMA) . . . . . . . . . . .  14
   5.  Conceptual Data Structures  . . . . . . . . . . . . . . . . .  15
     5.1.  Multiple Proxy Care-of Address Registration . . . . . . .  15
     5.2.  Flow Mobility Cache . . . . . . . . . . . . . . . . . . .  16
   6.  Mobile Node considerations  . . . . . . . . . . . . . . . . .  17
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  18
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   9.  Authors . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
   10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  19
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  19
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  19
     11.2.  Informative References . . . . . . . . . . . . . . . . .  20
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  20






Bernardos                 Expires July 11, 2016                 [Page 2]


Internet-Draft            PMIPv6 flow mobility              January 2016


1.  Introduction

   Proxy Mobile IPv6 (PMIPv6), specified in [RFC5213], provides network
   based mobility management to hosts connecting to a PMIPv6 domain.
   PMIPv6 introduces two new functional entities, the Local Mobility
   Anchor (LMA) and the Mobile Access Gateway (MAG).  The MAG is the
   entity detecting the Mobile Node's (MN) attachment and providing IP
   connectivity.  The LMA is the entity assigning one or more Home
   Network Prefixes (HNP) to the MN and is the topological anchor for
   all traffic belonging to the MN.

   PMIPv6 allows a mobile node to connect to the same PMIPv6 domain
   through different interfaces.  This document specifies protocol
   extensions to Proxy Mobile IPv6 between the local mobility anchor and
   mobile access gateways to enable "flow mobility" and hence distribute
   specific traffic flows on different physical interfaces.  It is
   assumed that the mobile node IP layer interface can simultaneously
   and/or sequentially attach to multiple MAGs, possibly over multiple
   media.  One form to achieve this multiple attachment is described in
   [I-D.ietf-netext-logical-interface-support], which allows the mobile
   node supporting traffic flows on different physical interfaces
   regardless of the assigned prefixes on those physical interfaces.

   In particular, this document specifies how to enable "flow mobility"
   in the PMIPv6 network (i.e., local mobility anchors and mobile access
   gateways).  In order to do so, two main operations are required: i)
   proper prefix management by the PMIPv6 network, and, ii) consistent
   flow forwarding policies.  This memo analyzes different potential use
   case scenarios, involving different prefix assignment requirements,
   and therefore different PMIPv6 network extensions to enable "flow
   mobility".

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC2119 [RFC2119].

   The following terms used in this document are defined in the Proxy
   Mobile IPv6 [RFC5213]:

      Local Mobility Agent (LMA).

      Mobile Access Gateway (MAG).

      Proxy Mobile IPv6 Domain (PMIPv6-Domain).

      LMA Address (LMAA).



Bernardos                 Expires July 11, 2016                 [Page 3]


Internet-Draft            PMIPv6 flow mobility              January 2016


      Proxy Care-of Address (Proxy-CoA).

      Home Network Prefix (HNP).

   The following terms used in this document are defined in the Multiple
   Care-of Addresses Registration [RFC5648] and Flow Bindings in Mobile
   IPv6 and Network Mobility (NEMO) Basic Support [RFC6089]:

      Binding Identification Number (BID).

      Flow Identifier (FID).

      Traffic Selector (TS).

   The following terms are defined and used in this document:

   FMI (Flow Mobility Initiate).  Message sent by the LMA to the MAG
      conveying the information required to enable flow mobility in a
      PMIPv6-Domain.

   FMA (Flow Mobility Acknowledgement).  Message sent by the MAG in
      reply to an FMI message.

   FMC (Flow Mobility Cache).  Conceptual data structure to support the
      flow mobility management operations described in this document.

3.  Overview of the PMIPv6 flow mobility extensions

3.1.  Use case scenarios

   In contrast to a typical handover where connectivity to a physical
   medium is relinquished and then re-established, flow mobility assumes
   a mobile node can have simultaneous access to more than one network.
   In this specification, it is assumed that the local mobility anchor
   is aware of the mobile node's capabilities to have simultaneous
   access to both access networks and it can handle the same or a
   different set of prefixes on each access.  How this is done is
   outside the scope of this specification.

   There are different flow mobility scenarios.  In some of them the
   mobile node might share a common set of prefixes among all its
   physical interfaces, whereas in others the mobile node might have a
   different subset of prefixes configured on each of the physical
   interfaces.  The different scenarios are the following:

   1.  At the time of a new network attachment, the MN obtains the same
       prefix or the same set of prefixes as already assigned to an
       existing session.  This is not the default behavior with basic



Bernardos                 Expires July 11, 2016                 [Page 4]


Internet-Draft            PMIPv6 flow mobility              January 2016


       PMIPv6 [RFC5213], and the LMA needs to be able to provide the
       same assignment even for the simultaneous attachment (as opposed
       to the handover scenario only).

   2.  At the time of a new network attachment, the MN obtains a new
       prefix or a new set of prefixes for the new session.  This is the
       default behavior with basic PMIPv6 [RFC5213].

   A combination of the two above-mentioned scenarios is also possible.
   At the time of a new network attachment, the MN obtains a combination
   of prefix(es) in use and new prefix(es).  This is a hybrid of the two
   scenarios described before.  The local policy determines whether the
   new prefix is exclusive to the new attachment or it can be assigned
   to an existing attachment as well.

   The operational description of how to enable flow mobility in each of
   these scenarios is provided in Section 3.2.1 and Section 3.2.2.

   The extensions described in this document support all the
   aforementioned scenarios.

3.2.  Basic Operation

   This section describes how the PMIPv6 extensions described in this
   document enable flow mobility support.

   Both the mobile node and the local mobility anchor MUST have local
   policies in place to ensure that packets are forwarded coherently for
   unidirectional and bidirectional communications.  The details about
   how this consistency is ensured are out of the scope of this
   document.  The MN makes the final IP flow mobility decision, and then
   the LMA follows that decision and updates its forwarding state
   accordingly.  Note that this does not prevent network initiated
   mobility, the network still could trigger mobility on the MN side via
   out-of-band mechanisms (e.g., 3GPP/ANDSF sends updated routing
   policies to the MN).  In a given scenario and mobile node, the
   decision on IP flow mobility MUST be taken either by the MN or the
   LMA, but MUST NOT be taken by both.

3.2.1.  MN sharing a common set of prefixes on all MAGs

   This scenario corresponds to the first use case scenario described in
   Section 3.1.  Extensions to basic PMIPv6 [RFC5213] signaling at the
   time of a new attachment are needed to ensure that the same prefix
   (or set of prefixes) is assigned to all the interfaces of the same
   mobile node that are simultaneously attached.  Subsequently, no
   further signaling is necessary between the local mobility anchor and




Bernardos                 Expires July 11, 2016                 [Page 5]


Internet-Draft            PMIPv6 flow mobility              January 2016


   the mobile access gateway and flows are forwarded according to policy
   rules on the local mobility anchor and the mobile node.

   If the local mobility anchor assigns a common prefix (or set of
   prefixes) to the different physical interfaces attached to the
   domain, then every MAG already has all the routing knowledge required
   to forward uplink or downlink packets after the PBU/PBA registration
   for each MAG, and the local mobility anchor does not need to send any
   kind of signaling in order to move flows across the different
   physical interfaces (because moving flows is a local decision of the
   LMA).  Optionally, signaling MAY be exchanged in case the MAG needs
   to know about flow level information (e.g., to link flows with proper
   QoS paths and/or inform the mobile node) [RFC7222].

   The local mobility anchor needs to know when to assign the same set
   of prefixes to all the different physical interfaces of the mobile
   node.  This can be achieved by different means, such as policy
   configuration, default policies, etc.  In this document a new Handoff
   Indicator (HI) value ("Attachment over a new interface sharing
   prefixes", value {IANA-0}) is defined, to allow the mobile access
   gateway to indicate to the local mobility anchor that the same set of
   prefixes MUST be assigned to the mobile node.  The considerations of
   Section 5.4.1 of [RFC5213] are updated by this specification as
   follows:

   o  If there is at least one Home Network Prefix option present in the
      request with a NON_ZERO prefix value, there exists a Binding Cache
      entry (with all home network prefixes in the Binding Cache entry
      matching the prefix values of all Home Network Prefix options of
      the received Proxy Binding Update message), and the entry matches
      the mobile node identifier in the Mobile Node Identifier option of
      the received Proxy Binding Update message, and the value of the
      Handoff Indicator of the received Proxy Binding Update is equal to
      "Attachment over a new interface sharing prefixes".

      1.  If there is an MN-LL-Identifier Option present in the request
          and the Binding Cache entry matches the Access Technology Type
          (ATT), and MN-LL-Identifier, the request MUST be considered as
          a request for updating that Binding Cache entry.

      2.  If there is an MN-LL-Identifier Option present in the request
          and the Binding Cache entry does not match the Access
          Technology Type (ATT), and MN-LL-Identifier, the request MUST
          be considered as a request for creating a new mobility session
          sharing the same set of home network prefixes assigned to the
          existing Binding Cache entry found.





Bernardos                 Expires July 11, 2016                 [Page 6]


Internet-Draft            PMIPv6 flow mobility              January 2016


      3.  If there is not an MN-LL-Identifier Option present in the
          request, the request MUST be considered as a request for
          creating a new mobility session sharing the same set of home
          network prefixes assigned to the existing Binding Cache entry
          found.

                                     LMA Binding Cache
                       +---+       =======================
                       |LMA|        MN1, if1, pref1, MAG1
                       +---+        MN1, if2, pref1, MAG2
                        //\\
             +---------//--\\-------------+
            (         //    \\             ) PMIPv6 domain
            (        //      \\            )
             +------//--------\\----------+
                   //          \\
                  //            \\
               +----+           +----+
               |MAG1|           |MAG2|
               +----+           +----+
                 |                |
                 |   +-------+    |
                 |   |  I P  |    |
                 |   +---+---+    |
                 |---|if1|if2|----|
                     +---+---+
                        MN1

        Figure 1: Shared prefix across physical interfaces scenario

   Next, an example of how flow mobility works in this case is shown.
   In Figure 1, a mobile node (MN1) has two different physical
   interfaces (if1 and if2).  Each physical interface is attached to a
   different mobile access gateway, both of them controlled by the same
   local mobility anchor.  Both physical interfaces are assigned the
   same prefix (pref1) upon attachment to the MAGs.  If the IP layer at
   the mobile node shows one single logical interface (e.g., as
   described in [I-D.ietf-netext-logical-interface-support]), then the
   mobile node has one single IPv6 address configured at the IP layer:
   pref1::mn1.  Otherwise, per interface IPv6 addresses (e.g.,
   pref1::if1 and pref1::if2) would be configured; each address MUST be
   valid on every interface.  We assume the first case in the following
   example (and in the rest of this document).  Initially, flow X goes
   through MAG1 and flow Y through MAG2.  At a certain point, flow Y can
   be moved to also go through MAG1.  Figure 2 shows the scenario in
   which no flow-level information needs to be exchanged, so there is no
   signaling between the local mobility anchor and the mobile access
   gateways.



Bernardos                 Expires July 11, 2016                 [Page 7]


Internet-Draft            PMIPv6 flow mobility              January 2016


   Note that if different IPv6 addresses are configured at the IP layer,
   IP session continuity is still possible (for each of the configured
   IP addresses).  This is achieved by the network delivering packets
   destined to a particular IP address of the mobile node to the right
   MN's physical interface where the flow is selected to be moved, and
   the MN also selecting the same interface when sending traffic back up
   link.

                 +-----+         +------+        +------+      +-----+
   Internet      | LMA |         | MAG1 |        | MAG2 |      | MN1 |
                 +-----+         +------+        +------+      +-----+
      |             |               |               |             |
      |  flow X to  |   flow X to   |           flow X to         |
      |  pref1::mn1 |   pref1::mn1  |           pref1::mn1        |
      |<----------->|<------------->|<-------------------------->if1
      |  flow Y to  |           flow Y to           |  flow Y to  |
      |  pref1::mn1 |           pref1::mn1          |  pref1::mn1 |
      |<----------->|<----------------------------->|<---------->if2
      |             |               |               |             |
      |       ============          |               |       ============
      |       ||  flow  ||          |               |       ||  flow  ||
      |       || policy ||          |               |       || policy ||
      |       || update ||          |               |       || update ||
      |       ============          |               |       ============
      |             |               |               |             |
      |  flow Y to  |   flow Y to   |          flow Y to          |
      |  pref1::mn1 |   pref1::mn1  |          pref1::mn1         |
      |<----------->|<------------->|<-------------------------->if1
      |             |               |               |             |

   Figure 2: Flow mobility message sequence with common set of prefixes

   Figure 3 shows the state of the different network entities after
   moving flow Y in the previous example.  This document re-uses some of
   the terminology and mechanisms of the flow bindings and multiple
   care-of address registration specifications.  Note that, in this case
   the BIDs shown in the figure are assigned locally by the LMA, since
   there is no signaling required in this scenario.  In any case,
   alternative implementations of flow routing at the LMA MAY be used,
   as it does not impact on the operation of the solution in this case.











Bernardos                 Expires July 11, 2016                 [Page 8]


Internet-Draft            PMIPv6 flow mobility              January 2016


                           LMA Binding Cache        LMA flowmob state
                      (BID, MN-ID, ATT, HNP, PCoA)      (BID, TS)
                 +---+ ==========================  ===================
                 |LMA|  1, MN1, if1, pref1, MAG1       1, flow X
                 +---+  2, MN1, if2, pref1, MAG2       1, flow Y
                  //\\
       +---------//--\\-------------+
      (         //    \\             ) PMIPv6 domain
      (        //      \\            )
       +------//--------\\----------+
             //          \\
            //            \\       MAG1 routing state
         +----+           +----+  ================================
         |MAG1|           |MAG2|     (dest)         (next hop)
         +----+           +----+   pref1::/64   p2p-iface-with-MN1
           |                |         ::/0             LMA
           |                |
           |                |      MAG2 routing state
           |   +-------+    |     ================================
           |   |  I P  |    |        (dest)         (next hop)
           |   +---+---+    |      pref1::/64   p2p-iface-with-MN1
           |---|if1|if2|----|         ::/0             LMA
               +---+---+
                  MN1

           Figure 3: Data structures with common set of prefixes

3.2.2.  MN with different sets of prefixes on each MAG

   A different flow mobility scenario happens when the local mobility
   anchor assigns different sets of prefixes to physical interfaces of
   the same mobile node.  This covers the second case, or a combination
   of scenarios, described in Section 3.1.  In this case, additional
   signaling is required between the local mobility anchor and the
   mobile access gateway to enable relocating flows between the
   different attachments, so the MAGs are aware of the prefixes for
   which the MN is going to receive traffic, and local routing entries
   are configured accordingly.

   In this case, signaling is required when a flow is to be moved from
   its original interface to a new one.  Since the local mobility anchor
   cannot send a PBA message which has not been triggered in response to
   a received PBU message, the solution defined in this specification
   makes use of two mobility messages: Flow Mobility Indication and Flow
   Mobility Acknowledgement, which actually use the format of the Update
   Notifications for Proxy Mobile IPv6 defined in [RFC7077].  The
   trigger for the flow movement can be on the mobile node (e.g., by
   using layer-2 signaling with the MAG) or on the network (e.g., based



Bernardos                 Expires July 11, 2016                 [Page 9]


Internet-Draft            PMIPv6 flow mobility              January 2016


   on congestion and measurements) which then notifies the MN for the
   final IP flow mobility decision (as stated in section 3.1).  Policy
   management functions (e.g., 3GPP/ANDSF) can be used for that purpose,
   however, how the network notifies the MN is out of the scope of this
   document.

   If the flow is being moved from its default path (which is determined
   by the destination prefix) to a different one, the local mobility
   anchor constructs a Flow Mobility Indication (FMI) message.  This
   message includes a Home Network Prefix option for each of the
   prefixes that are requested to be provided with flow mobility support
   on the new MAG (note that these prefixes are not anchored by the
   target MAG, and therefore the MAG MUST NOT advertise them on the MAG-
   MN link), with the off-link bit (L) set to one.  This message MUST be
   sent to the new target mobile access gateway, i.e. the one selected
   to be used in the forwarding of the flow.  The MAG replies with a
   Flow Mobility Acknowledgement (FMA).  The message sequence is shown
   in Figure 4.

                 +-----+         +------+        +------+      +-----+
   Internet      | LMA |         | MAG1 |        | MAG2 |      | MN1 |
                 +-----+         +------+        +------+      +-----+
      |             |               |               |             |
      |  flow X to  |   flow X to   |           flow X to         |
      |  pref1::mn1 |   pref1::mn1  |           pref1::mn1        |
      |<----------->|<------------->|<-------------------------->if1
      |  flow Y to  |           flow Y to           |  flow Y to  |
      |  pref2::mn1 |           pref2::mn1          |  pref2::mn1 |
      |<----------->|<----------------------------->|<---------->if2
      |             |               |               |             |
      |       ============          |               |       ============
      |       ||  flow  ||          |               |       ||  flow  ||
      |       || policy ||          |               |       || policy ||
      |       || update ||          |               |       || update ||
      |       ============          |               |       ============
      |             |               |               |             |
      |             | FMI[MN1-ID, HNPs]             |             |
      |             |-------------->|               |             |
      |             |          FMA  |               |             |
      |             |<--------------|               |             |
      |  flow Y to  |   flow Y to   |          flow Y to          |
      |  pref2::mn1 |   pref2::mn1  |          pref2::mn1         |
      |<----------->|<------------->|<-------------------------->if1
      |             |               |               |             |

       Figure 4: Flow mobility message sequence when the LMA assigns
             different sets of prefixes per physical interface




Bernardos                 Expires July 11, 2016                [Page 10]


Internet-Draft            PMIPv6 flow mobility              January 2016


   The state in the network after moving a flow, for the case the LMA
   assigns a different set of prefixes is shown in Figure 5.

                           LMA Binding Cache          LMA flowmob state
                      (BID, MN-ID, ATT, HNP, PCoA)       (BID, TS)
                 +---+ ============================  ===================
                 |LMA|  1, MN1, if1, pref1,               1, flow X
                 +---+               pref2,  MAG1         1, flow Y
                  //\\  2, MN1, if2, pref2,  MAG2
       +---------//--\\-------------+
      (         //    \\             ) PMIPv6 domain
      (        //      \\            )
       +------//--------\\----------+
             //          \\
            //            \\       MAG1 routing state
         +----+           +----+  ================================
         |MAG1|           |MAG2|     (dest)         (next hop)
         +----+           +----+   pref1::/64   p2p-iface-with-MN1
           |                |      pref2::/64   p2p-iface-with-MN1
           |                |         ::/0             LMA
           |                |
           |   +-------+    |      MAG2 routing state
           |   |  I P  |    |     ================================
           |   +---+---+    |        (dest)         (next hop)
           |---|if1|if2|----|      pref2::/64   p2p-iface-with-MN1
               +---+---+              ::/0             LMA
                  MN1

     Figure 5: Data structures when the LMA assigns a different set of
                                 prefixes

3.3.  Use of PBU/PBA signaling

   This specification introduces the FMI/FMA signaling so the LMA can
   exchange with the MAG information required to enable flow mobility
   without waiting for receiving a PBU.  There are however scenarios in
   which the trigger for flow mobility might be related to a new MN's
   interface attachment.  In this case, the PBA sent in response to the
   PBU received from the new MAG can convey the same signaling that the
   FMI does.  In this case the LMA MUST include in the PBA a Home
   Network Prefix option for each of the prefixes that are requested to
   be provided with flow mobility support on the new MAG with the off-
   link bit (L) set to one.








Bernardos                 Expires July 11, 2016                [Page 11]


Internet-Draft            PMIPv6 flow mobility              January 2016


3.4.  Use of flow-level information

   This specification does not mandate flow-level information to be
   exchanged between the LMA and the MAG to provide flow mobility
   support.  It only requires the LMA to keep flow-level state
   (Section 5.2).  However, there are scenarios in which the MAG might
   need to know which flow(s) is/are coming within a prefix that has
   been moved, to link it/them to proper QoS path(s) and optionally
   inform the MN about it.  This section describes the extensions used
   to include flow-level information in the signaling defined between
   the LMA and the MAG.

   This specification re-uses some of the mobility extensions and
   message formats defined in [RFC5648] and [RFC6089], namely the Flow
   Identification Mobility Option and the Flow Mobility Sub-Options.

   In case the LMA wants to convey flow-level information to the MAG, it
   MUST include in the FMI (or the PBA) a Flow Identification Mobility
   Option for all the flows that the MAG needs to be aware with flow
   granularity.  Each Flow Identification Option MUST include a Traffic
   Selector Sub-Option including such flow-level information.

   To remove a flow binding state at the MAG, the LMA simply sends a FMI
   (or PBA if it is in response to a PBU) message that includes flow
   identification options for all the flows that need to be refreshed,
   modified, or added, and simply omits those that need to be removed.

   Note that even if a common set of prefixes is used, providing the MAG
   with flow-level information requires signaling to be exchanged in
   this case between the LMA and the MAG.  This is done sending a FMI
   message (or a PBA if it is sent in response to a PBU).

4.  Message Formats

   This section defines modifications to the Proxy Mobile IPv6 [RFC5213]
   protocol messages.

   This specification requires implementation of UPN [RFC7077] and UPA
   [RFC7077] messages with the specific Notification Reason and Status
   Code values as defined by this document.  This document does not
   require implementation of any other aspects of [RFC7077].

4.1.  Home Network Prefix

   A new flag (L) is included in the Home Network Prefix option to
   indicate to the Mobile Access Gateway whether the conveyed prefix has
   to be hosted on-link or not on the point-to-point interface with the
   mobile node.  A prefix is hosted off-link for the flow mobility



Bernardos                 Expires July 11, 2016                [Page 12]


Internet-Draft            PMIPv6 flow mobility              January 2016


   purposes defined in this document.  The rest of the Home Network
   Prefix option format remains the same as defined in [RFC5213].

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |      Type     |   Length      |L|  Reserved   | Prefix Length |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                                                               +
    |                                                               |
    +                    Home Network Prefix                        +
    |                                                               |
    +                                                               +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Off-link Home Network Prefix Flag (L):

      The Off-link Home Network Prefix Flag is set to indicate to the
      Mobile Access Gateway that the home network prefix conveyed in the
      option is not to be hosted on-link, but has to be considered for
      flow mobility purposes and therefore added to the Mobile Access
      Gateway routing table.  If the flag is set to 0, the Mobile Access
      Gateway assumes that the home network prefix has to be hosted on-
      link.

4.2.  Flow Mobility Initiate (FMI)

   The FMI message (Figure 6) used in this specification is the Update
   Notification (UPN) message specified in [RFC7077].  The message
   format, transport and security consideration are as specified in
   [RFC7077].  The format of the message is specified in Section 4.1 of
   [RFC7077] and is shown below for completeness.  This specification
   does not modify the UPN message, however, it defines new Notification
   Reason values for use in this specification.















Bernardos                 Expires July 11, 2016                [Page 13]


Internet-Draft            PMIPv6 flow mobility              January 2016


      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |           Sequence #          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Notification Reason        |A|D|          Reserved         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                        Mobility options                       .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 6: Flow Mobility Initiate message format

   This document defines the following new Notification Reason value for
   use in Update Notification message:

   Notification Reason:

      {IANA-1} - FLOW-MOBILITY.  Request to add/refresh the prefix(es)
      conveyed in the Home Network Prefix options included in the
      message to the set of prefixes for which flow mobility is
      provided.

   The Mobility Options field of an FMI MUST contain the MN-ID, followed
   by one or more Home Network Prefixes options.  Prefixes for which
   flow mobility was provided that are not present in the message MUST
   be removed from the set of flow mobility enabled prefixes.

4.3.  Flow Mobility Acknowledgement (FMA)

   The FMA message (Figure 7) used in this specification is the Update
   Notification Ack (UPA) message specified in Section 4.2 of [RFC7077].
   The message format, transport and security consideration are as
   specified in [RFC7077].  The format of the message is specified in
   Section 4.2 of [RFC7077] and is shown below here for completeness.
   This specification does not modify the UPA message, however, it
   defines new Status Code values for use in this specification.











Bernardos                 Expires July 11, 2016                [Page 14]


Internet-Draft            PMIPv6 flow mobility              January 2016


      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |           Sequence #          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Status Code |                   Reserved                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                        Mobility options                       .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Figure 7: Flow Mobility Acknowledgement message format

   This document defines the following new status code values for use in
   Update Notification Acknowledgement message.

   Status Code:

      0: Success.

      {IANA-2}: Reason unspecified.

      {IANA-3}: MN not attached.

   When Status code is 0, the Mobility Options field of an FMA MUST
   contain the MN-ID, followed by one or more Home Network Prefixes
   options.

5.  Conceptual Data Structures

   This section summarizes the extensions to Proxy Mobile IPv6 that are
   necessary to manage flow mobility.

5.1.  Multiple Proxy Care-of Address Registration

   The binding cache structure of the local mobility anchor is extended
   to allow multiple proxy care-of address (Proxy-CoA) registrations,
   and support the mobile node use the same address (prefix) beyond a
   single interface and mobile access gateway.  The LMA maintains
   multiple binding cache entries for an MN.  The number of binding
   cache entries for a mobile node is equal to the number of the MN's
   interfaces attached to any MAGs.

   This specification re-uses the extensions defined in [RFC5648] to
   manage multiple registrations, but in the context of Proxy Mobile



Bernardos                 Expires July 11, 2016                [Page 15]


Internet-Draft            PMIPv6 flow mobility              January 2016


   IPv6.  The binding cache is therefore extended to include more than
   one proxy care-of address and to associate each of them with a
   binding identifier (BID).  Note that the BID is a local identifier,
   assigned and used by the local mobility anchor to identify which
   entry of the flow mobility cache is used to decide how to route a
   given flow.

            +---------+-----+-------+------+-----------+------------+
            | BID-PRI | BID | MN-ID |  ATT |   HNP(s)  | Proxy-CoA  |
            +---------+-----+-------+------+-----------+------------+
            |    20   |  1  |  MN1  | WiFi | HNP1,HNP2 | IP1 (MAG1) |
            |    30   |  2  |  MN1  | 3GPP | HNP1,HNP3 | IP2 (MAG2) |
            +---------+-----+-------+------+-----------+------------+

                     Figure 8: Extended Binding Cache

   Figure 8 shows an example of extended binding cache, containing two
   binding cache entries (BCEs) of a mobile node MN1 attached to the
   network using two different access technologies.  Both of the two
   attachments share the same prefix (HNP1) and are bound to two
   different Proxy-CoAs (two MAGs).

5.2.  Flow Mobility Cache

   Each local mobility anchor MUST maintain a flow mobility cache (FMC)
   as shown in Figure 9.  The flow mobility cache is a conceptual list
   of entries that is separate from the binding cache.  This conceptual
   list contains an entry for each of the registered flows.  This
   specification re-uses the format of the flow binding list defined in
   [RFC6089].  Each entry includes the following fields:

   o  Flow Identifier Priority (FID-PRI).

   o  Flow Identifier (FID).

   o  Traffic Selector (TS).

   o  Binding Identifier (BID).

   o  Action.

   o  Active/Inactive.









Bernardos                 Expires July 11, 2016                [Page 16]


Internet-Draft            PMIPv6 flow mobility              January 2016


               +---------+-----+-----+------+---------+----------+
               | FID-PRI | FID | TS  | BIDs |  Action |   A/I    |
               +---------+-----+-----+------+---------+----------+
               |   10    |  2  | TCP |  1   | Forward |  Active  |
               |   20    |  4  | UDP | 1,2  | Forward | Inactive |
               +---------+-----+-----+------+---------+----------+

                       Figure 9: Flow Mobility Cache

   The BID field contains the identifier of the binding cache entry
   which packets matching the flow information described in the TS field
   will be forwarded to.  When a flow is decided to be moved, the
   affected BID(s) of the table are updated.

   Similar to flow binding described in [RFC6089], each entry of the
   flow mobility cache points to a specific binding cache entry
   identifier (BID).  When a flow is moved, the local mobility anchor
   simply updates the pointer of the flow binding entry with the BID of
   the interface to which the flow will be moved.  The traffic selector
   (TS) in flow binding table is defined as in [RFC6088].  TS is used to
   classify the packets of flows based on specific parameters such as
   service type, source and destination address, etc.  The packets
   matching with the same TS will be applied the same forwarding policy.
   FID-PRI is the order of precedence to take action on the traffic.
   Action may be forward or drop.  If a binding entry becomes 'Inactive'
   it does not affect data traffic.  An entry becomes 'Inactive' only if
   all of the BIDs are de-registered.

   The mobile access gateway MAY also maintain a similar data structure.
   In case no full flow mobility state is required at the MAG, the
   Binding Update List (BUL) data structure is enough and no extra
   conceptual data entries are needed.  In case full per-flow state is
   required at the mobile access gateway, it SHOULD also maintain a flow
   mobility cache structure.

6.  Mobile Node considerations

   This specification assumes that the mobile node IP layer interface
   can simultaneously and/or sequentially attach to multiple MAGs,
   possibly over multiple media.  The mobile node MUST be able to
   enforce uplink policies to select the right outgoing interface.  One
   form to achieve this multiple attachment is described in
   [I-D.ietf-netext-logical-interface-support], which allows the mobile
   node supporting traffic flows on different physical interfaces
   regardless of the assigned prefixes on those physical interfaces.






Bernardos                 Expires July 11, 2016                [Page 17]


Internet-Draft            PMIPv6 flow mobility              January 2016


7.  IANA Considerations

   This specification defines new value for the Handoff Indicator {IANA-
   0} and a new flag (L) in the Home Network Prefix option.  A new
   Notification Reason value for use in Update Notification message
   ({IANA-1}) and new Status Values for use in Update Notification
   Acknowledgement message ({IANA-2} to {IANA-4}) are also defined.

8.  Security Considerations

   The protocol signaling extensions defined in this document share the
   same security concerns of Proxy Mobile IPv6 [RFC5213] and do not pose
   any additional security threats to those already identified in
   [RFC5213] and [RFC7077].

   The mobile access gateway and the local mobility anchor MUST use the
   IPsec security mechanism mandated by Proxy Mobile IPv6 [RFC5213] to
   secure the signaling described in this document.

9.  Authors

   This document reflects contributions from the following authors (in
   alphabetical order).

      Kuntal Chowdhury

         E-mail: kc@altiostar.com

      Sri Gundavelli

         E-mail: sgundave@cisco.com

      Youn-Hee Han

         E-mail: yhhan@kut.ac.kr

      Yong-Geun Hong

         E-mail: yonggeun.hong@gmail.com

      Rajeev Koodli

         E-mail: rajeevkoodli@google.com

      Telemaco Melia

         E-mail: telemaco.melia@googlemail.com




Bernardos                 Expires July 11, 2016                [Page 18]


Internet-Draft            PMIPv6 flow mobility              January 2016


      Frank Xia

         E-mail: xiayangsong@huawei.com

10.  Acknowledgments

   The authors would like to thank Vijay Devarapalli, Mohana
   Dahamayanthi Jeyatharan, Kent Leung, Bruno Mongazon-Cazavet, Chan-Wah
   Ng, Behcet Sarikaya and Tran Minh Trung for their valuable
   contributions which helped generating this document.

   The authors would also like to thank Juan-Carlos Zuniga, Pierrick
   Seite, Julien Laganier for all the useful discussions on this topic.

   Finally, the authors would also like to thank Marco Liebsch, Juan-
   Carlos Zuniga, Dirk von Hugo, Fabio Giust and Daniel Corujo for their
   reviews of this document.

   The work of Carlos J.  Bernardos has been partially performed in the
   framework of the H2020-ICT-2014-2 project 5G NORMA.

11.  References

11.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC5213]  Gundavelli, S., Ed., Leung, K., Devarapalli, V.,
              Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", RFC
              5213, DOI 10.17487/RFC5213, August 2008,
              <http://www.rfc-editor.org/info/rfc5213>.

   [RFC5648]  Wakikawa, R., Ed., Devarapalli, V., Tsirtsis, G., Ernst,
              T., and K. Nagami, "Multiple Care-of Addresses
              Registration", RFC 5648, DOI 10.17487/RFC5648, October
              2009, <http://www.rfc-editor.org/info/rfc5648>.

   [RFC6088]  Tsirtsis, G., Giarreta, G., Soliman, H., and N. Montavont,
              "Traffic Selectors for Flow Bindings", RFC 6088, DOI
              10.17487/RFC6088, January 2011,
              <http://www.rfc-editor.org/info/rfc6088>.







Bernardos                 Expires July 11, 2016                [Page 19]


Internet-Draft            PMIPv6 flow mobility              January 2016


   [RFC6089]  Tsirtsis, G., Soliman, H., Montavont, N., Giaretta, G.,
              and K. Kuladinithi, "Flow Bindings in Mobile IPv6 and
              Network Mobility (NEMO) Basic Support", RFC 6089, DOI
              10.17487/RFC6089, January 2011,
              <http://www.rfc-editor.org/info/rfc6089>.

   [RFC7077]  Krishnan, S., Gundavelli, S., Liebsch, M., Yokota, H., and
              J. Korhonen, "Update Notifications for Proxy Mobile IPv6",
              RFC 7077, DOI 10.17487/RFC7077, November 2013,
              <http://www.rfc-editor.org/info/rfc7077>.

11.2.  Informative References

   [I-D.ietf-netext-logical-interface-support]
              Melia, T. and S. Gundavelli, "Logical-interface Support
              for Multi-access enabled IP Hosts", draft-ietf-netext-
              logical-interface-support-12 (work in progress), November
              2015.

   [RFC7222]  Liebsch, M., Seite, P., Yokota, H., Korhonen, J., and S.
              Gundavelli, "Quality-of-Service Option for Proxy Mobile
              IPv6", RFC 7222, DOI 10.17487/RFC7222, May 2014,
              <http://www.rfc-editor.org/info/rfc7222>.

Author's Address

   Carlos J. Bernardos (editor)
   Universidad Carlos III de Madrid
   Av. Universidad, 30
   Leganes, Madrid  28911
   Spain

   Phone: +34 91624 6236
   Email: cjbc@it.uc3m.es
   URI:   http://www.it.uc3m.es/cjbc/
















Bernardos                 Expires July 11, 2016                [Page 20]