Network Working Group                                 S. Gundavelli, Ed.
Request for Comments: 5213                                      K. Leung
Category: Standards Track                                          Cisco
                                                          V. Devarapalli
                                                                Wichorus
                                                            K. Chowdhury
                                                        Starent Networks
                                                                B. Patil
                                                                   Nokia Siemens Networks
                                                               June 2008

                           Proxy Mobile IPv6

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   Network-based mobility management enables IP mobility for a host
   without requiring its participation in any mobility-related
   signaling.  The network is responsible for managing IP mobility on
   behalf of the host.  The mobility entities in the network are
   responsible for tracking the movements of the host and initiating the
   required mobility signaling on its behalf.  This specification
   describes a network-based mobility management protocol and is
   referred to as Proxy Mobile IPv6.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Conventions and Terminology  . . . . . . . . . . . . . . . . .  5
     2.1.  Conventions Used in This Document  . . . . . . . . . . . .  5
     2.2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Proxy Mobile IPv6 Protocol Overview  . . . . . . . . . . . . .  9
   4.  Proxy Mobile IPv6 Protocol Security  . . . . . . . . . . . . . 15
     4.1.  Peer Authorization Database (PAD) Example Entries  . . . . 16
     4.2.  Security Policy Database (SPD) Example Entries . . . . . . 17
   5.  Local Mobility Anchor Operation  . . . . . . . . . . . . . . . 17
     5.1.  Extensions to Binding Cache Entry Data Structure . . . . . 18
     5.2.  Supported Home Network Prefix Models . . . . . . . . . . . 19
     5.3.  Signaling Considerations . . . . . . . . . . . . . . . . . 20
       5.3.1.  Processing Proxy Binding Updates . . . . . . . . . . . 20
       5.3.2.  Initial Binding Registration (New Mobility Session)  . 22
       5.3.3.  Binding Lifetime Extension (No Handoff)  . . . . . . . 23
       5.3.4.  Binding Lifetime Extension (After Handoff) . . . . . . 23
       5.3.5.  Binding De-Registration  . . . . . . . . . . . . . . . 24
       5.3.6.  Constructing the Proxy Binding Acknowledgement
               Message  . . . . . . . . . . . . . . . . . . . . . . . 25
     5.4.  Multihoming Support  . . . . . . . . . . . . . . . . . . . 27
       5.4.1.  Binding Cache Entry Lookup Considerations  . . . . . . 28
     5.5.  Timestamp Option for Message Ordering  . . . . . . . . . . 33
     5.6.  Routing Considerations . . . . . . . . . . . . . . . . . . 36
       5.6.1.  Bi-Directional Tunnel Management . . . . . . . . . . . 36
       5.6.2.  Forwarding Considerations  . . . . . . . . . . . . . . 37
       5.6.3.  Explicit Congestion Notification (ECN)
               Considerations for Proxy Mobile IPv6 Tunnels . . . . . 38
     5.7.  Local Mobility Anchor Address Discovery  . . . . . . . . . 39
     5.8.  Mobile Prefix Discovery Considerations . . . . . . . . . . 39
     5.9.  Route Optimization Considerations  . . . . . . . . . . . . 39 40
   6.  Mobile Access Gateway Operation  . . . . . . . . . . . . . . . 40
     6.1.  Extensions to Binding Update List Entry Data Structure . . 40 41
     6.2.  Mobile Node's Policy Profile . . . . . . . . . . . . . . . 41 42
     6.3.  Supported Access Link Types  . . . . . . . . . . . . . . . 42 43
     6.4.  Supported Address Configuration Modes  . . . . . . . . . . 43
     6.5.  Access Authentication and Mobile Node Identification . . . 43 44
     6.6.  Acquiring Mobile Node's Identifier . . . . . . . . . . . . 44
     6.7.  Home Network Emulation . . . . . . . . . . . . . . . . . . 44 45
     6.8.  Link-Local  Link-local and Global Address Uniqueness . . . . . . . . . 45
     6.9.  Signaling Considerations . . . . . . . . . . . . . . . . . 46 47
       6.9.1.  Binding Registrations  . . . . . . . . . . . . . . . . 46 47
       6.9.2.  Router Solicitation Messages . . . . . . . . . . . . . 55
       6.9.3.  Default-Router . . . . . . . . . . . . . . . . . . . . 56
       6.9.4.  Retransmissions and Rate Limiting  . . . . . . . . . . 56 57
       6.9.5.  Path MTU Discovery . . . . . . . . . . . . . . . . . . 57 58
     6.10. Routing Considerations . . . . . . . . . . . . . . . . . . 59
       6.10.1. Transport Network  . . . . . . . . . . . . . . . . . . 59
       6.10.2. Tunneling and Encapsulation Modes  . . . . . . . . . . 59
       6.10.3. Local Routing  . . . . . . . . . . . . . . . . . . . . 60
       6.10.4. Tunnel Management  . . . . . . . . . . . . . . . . . . 60 61
       6.10.5. Forwarding Rules . . . . . . . . . . . . . . . . . . . 61
     6.11. Supporting DHCP-Based Address Configuration on the
           Access Link  . . . . . . . . . . . . . . . . . . . . . . . 62 63
     6.12. Home Network Prefix Renumbering  . . . . . . . . . . . . . 64 65
     6.13. Mobile Node Detachment Detection and Resource Cleanup  . . 65
     6.14. Allowing Network Access to Other IPv6 Nodes  . . . . . . . 65 66
   7.  Mobile Node Operation  . . . . . . . . . . . . . . . . . . . . 66
     7.1.  Moving into a Proxy Mobile IPv6 Domain . . . . . . . . . . 66
     7.2.  Roaming in the Proxy Mobile IPv6 Domain  . . . . . . . . . 67
   8.  Message Formats  . . . . . . . . . . . . . . . . . . . . . . . 68
     8.1.  Proxy Binding Update Message . . . . . . . . . . . . . . . 68
     8.2.  Proxy Binding Acknowledgement Message  . . . . . . . . . . 69 70
     8.3.  Home Network Prefix Option . . . . . . . . . . . . . . . . 71
     8.4.  Handoff Indicator Option . . . . . . . . . . . . . . . . . 72
     8.5.  Access Technology Type Option  . . . . . . . . . . . . . . 73
     8.6.  Mobile Node Link-layer Identifier Option . . . . . . . . . 75
     8.7.  Link-Local  Link-local Address Option  . . . . . . . . . . . . . . . . 76
     8.8.  Timestamp Option . . . . . . . . . . . . . . . . . . . . . 76
     8.9.  Status Values  . . . . . . . . . . . . . . . . . . . . . . 77
   9.  Protocol Configuration Variables . . . . . . . . . . . . . . . 79
     9.1.  Local Mobility Anchor - Configuration Variables  . . . . . 79
     9.2.  Mobile Access Gateway - Configuration Variables  . . . . . 80
     9.3.  Proxy Mobile IPv6 Domain - Configuration Variables . . . . 81
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 81 82
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 82 83
   12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 83 84
   13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 84 85
     13.1. Normative References . . . . . . . . . . . . . . . . . . . 84 85
     13.2. Informative References . . . . . . . . . . . . . . . . . . 85 86
   Appendix A.  Proxy Mobile IPv6 Interactions with AAA
                Infrastructure  . . . . . . . . . . . . . . . . . . . 87 88
   Appendix B.  Routing State . . . . . . . . . . . . . . . . . . . . 87 88

1.  Introduction

   IP mobility for IPv6 hosts is specified in Mobile IPv6 [RFC3775].
   Mobile IPv6 requires client functionality in the IPv6 stack of a
   mobile node.  Exchange of signaling messages between the mobile node
   and home agent enables the creation and maintenance of a binding
   between the mobile node's home address and its Care-of Address. care-of address.
   Mobility as specified in [RFC3775] requires the IP host to send IP
   mobility management signaling messages to the home agent, which is
   located in the network.

   Network-based mobility is another approach to solving the IP mobility
   challenge.  It is possible to support mobility for IPv6 nodes without
   host involvement by extending Mobile IPv6 [RFC3775] signaling
   messages between a network node and a home agent.  This approach to
   supporting mobility does not require the mobile node to be involved
   in the exchange of signaling messages between itself and the home
   agent.  A proxy mobility agent in the network performs the signaling
   with the home agent and does the mobility management on behalf of the
   mobile node attached to the network.  Because of the use and
   extension of Mobile IPv6 signaling and home agent functionality, this
   protocol is referred to as Proxy Mobile IPv6 (PMIPv6).

   Network deployments that are designed to support mobility would be
   agnostic to the capability in the IPv6 stack of the nodes that it
   serves.  IP mobility for nodes that have mobile IP client
   functionality in the IPv6 stack as well as those nodes that do not,
   would be supported by enabling Proxy Mobile IPv6 protocol
   functionality in the network.  The advantages of developing a
   network-based mobility protocol based on Mobile IPv6 are:

   o  Reuse of home agent functionality and the messages/format used in
      mobility signaling.  Mobile IPv6 is a mature protocol with several
      implementations that have undergone interoperability testing.

   o  A common home agent would serve as the mobility agent for all
      types of IPv6 nodes.

   The problem statement and the need for a network-based mobility
   protocol solution has been documented in [RFC4830].  Proxy Mobile
   IPv6 is a solution that addresses these issues and requirements.

2.  Conventions and Terminology

2.1.  Conventions Used in This Document

   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].

2.2.  Terminology

   All the general mobility-related terms used in this document are to
   be interpreted as defined in the Mobile IPv6 base specification
   [RFC3775].

   This document adopts the terms, Local Mobility Anchor (LMA) and
   Mobile Access Gateway (MAG) from the NETLMM Goals document [RFC4831].
   This document also provides the following context-specific
   explanation to the following terms used in this document.

   Proxy Mobile IPv6 Domain (PMIPv6-Domain)

      Proxy Mobile IPv6 domain refers to the network where the mobility
      management of a mobile node is handled using the Proxy Mobile IPv6
      protocol as defined in this specification.  The Proxy Mobile IPv6
      domain includes local mobility anchors and mobile access gateways
      between which security associations can be set up and
      authorization for sending Proxy Binding Updates on behalf of the
      mobile nodes can be ensured.

   Local Mobility Anchor (LMA)

      Local Mobility Anchor is the home agent for the mobile node in a
      Proxy Mobile IPv6 domain.  It is the topological anchor point for
      the mobile node's home network prefix(es) and is the entity that
      manages the mobile node's binding state.  The local mobility
      anchor has the functional capabilities of a home agent as defined
      in Mobile IPv6 base specification [RFC3775] with the additional
      capabilities required for supporting Proxy Mobile IPv6 protocol as
      defined in this specification.

   Mobile Access Gateway (MAG)

      Mobile Access Gateway is a function on an access router that
      manages the mobility-related signaling for a mobile node that is
      attached to its access link.  It is responsible for tracking the
      mobile node's movements to and from the access link and for
      signaling the mobile node's local mobility anchor.

   Mobile Node (MN)

      Throughout this document, the term mobile node is used to refer to
      an IP host or router whose mobility is managed by the network.
      The mobile node may be an IPv4-only node, IPv6-only node, or a
      dual-stack node and is not required to participate in any IP
      mobility related signaling for achieving mobility for an IP
      address that is obtained in that Proxy Mobile IPv6 domain.

   LMA Address (LMAA)

      The global address that is configured on the interface of the
      local mobility anchor and is the transport endpoint of the bi-
      directional tunnel established between the local mobility anchor
      and the mobile access gateway.  This is the address to which the
      mobile access gateway sends the Proxy Binding Update messages.
      When supporting IPv4 traversal, i.e., when the network between the
      local mobility anchor and the mobile access gateway is an IPv4
      network, this address will be an IPv4 address and will be referred
      to as IPv4-LMAA, as specified in [IPV4-PMIP6].

   Proxy Care-of Address (Proxy-CoA)

      Proxy-CoA is the global address configured on the egress interface
      of the mobile access gateway and is the transport endpoint of the
      tunnel between the local mobility anchor and the mobile access
      gateway.  The local mobility anchor views this address as the
      Care-of Address
      care-of address of the mobile node and registers it in the Binding
      Cache entry for that mobile node.  When the transport network
      between the mobile access gateway and the local mobility anchor is
      an IPv4 network and if the Care-of Address care-of address that is registered at
      the local mobility anchor is an IPv4 address, the term, IPv4-
      Proxy-CoA is used, as specified in [IPV4-PMIP6].

   Mobile Node's Home Network Prefix (MN-HNP)

      The MN-HNP is a prefix assigned to the link between the mobile
      node and the mobile access gateway.  More than one prefix can be
      assigned to the link between the mobile node and the mobile access
      gateway, in which case, all of the assigned prefixes are managed
      as a set associated with a mobility session.  The mobile node
      configures its interface with one or more addresses from its home
      network prefix(es).  If the mobile node connects to the Proxy
      Mobile IPv6 domain through multiple interfaces, simultaneously,
      each of the attached interfaces will be assigned a unique set of
      home network prefixes, and all the prefixes assigned to a given
      interface of a mobile node will be managed under one mobility
      session.  For example, home network prefixes P1 and P2 assigned to
      interface I1 will be managed under one mobility session and
      prefixes P3, P4, and P5 assigned to interface I2 of the mobile
      node will be managed under a different mobility session.
      Additionally, in some configurations the assigned prefix can be of
      128-bit prefix length.

   Mobile Node's Home Address (MN-HoA)

      MN-HoA is an address from a mobile node's home network prefix.
      The mobile node will be able to use this address as long as it is
      attached to the access network that is in the scope of that Proxy
      Mobile IPv6 domain.  If the mobile node uses more than one address
      from its home network prefix(es), any one of these addresses is
      referred to as mobile node's home address.  Unlike in Mobile IPv6
      where the home agent is aware of the home address of the mobile
      node, in Proxy Mobile IPv6, the mobility entities are only aware
      of the mobile node's home network prefix(es) and are not always
      aware of the exact address(es) that the mobile node configured on
      its interface from its home network prefix(es).  However, in some
      configurations and based on the enabled address configuration
      modes on the access link, the mobility entities in the network can
      be certain about the exact address(es) configured by the mobile
      node.

   Mobile Node's Home Link

      This is the link on which the mobile node obtained its layer-3
      address configuration for the attached interface after it moved
      into that Proxy Mobile IPv6 domain.  This is the link that
      conceptually follows the mobile node.  The network will ensure the
      mobile node always sees this link with respect to the layer-3
      network configuration, on any access link that it attaches to in
      that Proxy Mobile IPv6 domain.

   Multihomed Mobile Node

      A mobile node that connects to the same Proxy Mobile IPv6 domain
      through more than one interface and uses these interfaces
      simultaneously is referred to as a multihomed mobile node.

   Mobile Node Identifier (MN-Identifier)

      The identity of a mobile node in the Proxy Mobile IPv6 domain.
      This is the stable identifier of a mobile node that the mobility
      entities in a Proxy Mobile IPv6 domain can always acquire and use
      for predictably identifying a mobile node.  This is typically an
      identifier such as a Network Access Identifier (NAI) [RFC4282] or
      other identifier such as a Media Access Control (MAC) address.

   Mobile Node Link-layer Identifier (MN-LL-Identifier)

      An identifier that identifies the attached interface of a mobile
      node.  For those interfaces that have a link-layer identifier,
      this identifier can be based on that.  The link-layer identifier,
      in some cases, is generated by the mobile node and conveyed to the
      mobile access gateway.  This identifier of the attached interface
      must be stable, as seen by any of the mobile access gateways in a
      given Proxy Mobile IPv6 domain.  In some other cases, there might
      not be any link-layer identifier associated with the mobile node's
      interface.  An identifier value of ALL_ZERO is not considered a
      valid identifier and cannot be used as an interface identifier.

   Policy Profile

      Policy Profile is an abstract term for referring to a set of
      configuration parameters that are configured for a given mobile
      node.  The mobility entities in the Proxy Mobile IPv6 domain
      require access to these parameters for providing the mobility
      management to a given mobile node.  The specific details on how
      the network entities obtain this policy profile is outside the
      scope of this document.

   Proxy Binding Update (PBU)

      A request message sent by a mobile access gateway to a mobile
      node's local mobility anchor for establishing a binding between
      the mobile node's home network prefix(es) assigned to a given
      interface of a mobile node and its current Care-of Address care-of address (Proxy-
      CoA).

   Proxy Binding Acknowledgement (PBA)

      A reply message sent by a local mobility anchor in response to a
      Proxy Binding Update message that it received from a mobile access
      gateway.

   Per-MN-Prefix and Shared-Prefix Models

      The term Per-MN-Prefix model is used to refer to an addressing
      model where there is a unique network prefix or prefixes assigned
      for each node.  The term Shared-Prefix model is used to refer to
      an addressing model where the prefix(es) are shared by more than
      one node.  This specification supports the Per-MN-Prefix model and
      does not support the Shared-Prefix model.

   Mobility Session
      In the context of Proxy Mobile IPv6 specification, the term
      mobility session refers to the creation or existence of state
      associated with the mobile node's mobility binding on the local
      mobility anchor and on the serving mobile access gateway.

   DHCP

      Throughout this document, the acronym DHCP refers to DHCP for
      IPv6, as defined in [RFC3315].

   ALL_ZERO and NON_ZERO

      Protocol message fields initialized with value 0 in each byte of
      the field.  For example, an 8-byte link-layer identifier field
      with the value set to 0 in each of the 8 bytes, or an IPv6 address
      with the value 0 in all of the 16 bytes.  Conversely, the term
      NON_ZERO is used to refer to any value other than an ALL_ZERO
      value.

3.  Proxy Mobile IPv6 Protocol Overview

   This specification describes a network-based mobility management
   protocol.  It is called Proxy Mobile IPv6 and is based on Mobile IPv6
   [RFC3775].

   Proxy Mobile IPv6 protocol is intended for providing network-based IP
   mobility management support to a mobile node, without requiring the
   participation of the mobile node in any IP mobility related
   signaling.  The mobility entities in the network will track the
   mobile node's movements and will initiate the mobility signaling and
   set up the required routing state.

   The core functional entities in the NETLMM infrastructure are the
   Local Mobility Anchor (LMA) and the Mobile Access Gateway (MAG).  The
   local mobility anchor is responsible for maintaining the mobile
   node's reachability state and is the topological anchor point for the
   mobile node's home network prefix(es).  The mobile access gateway is
   the entity that performs the mobility management on behalf of a
   mobile node, and it resides on the access link where the mobile node
   is anchored.  The mobile access gateway is responsible for detecting
   the mobile node's movements to and from the access link and for
   initiating binding registrations to the mobile node's local mobility
   anchor.  There can be multiple local mobility anchors in a Proxy
   Mobile IPv6 domain each serving a different group of mobile nodes.
   The architecture of a Proxy Mobile IPv6 domain is shown in Figure 1.

              +----+                +----+
              |LMA1|                |LMA2|
              +----+                +----+
       LMAA1 -> |                      | <-- LMAA2
                |                      |
                \\                    //\\
                 \\                  //  \\
                  \\                //    \\
               +---\\------------- //------\\----+
              (     \\  IPv4/IPv6 //        \\    )
              (      \\  Network //          \\   )
               +------\\--------//------------\\-+
                       \\      //              \\
                        \\    //                \\
                         \\  //                  \\
             Proxy-CoA1--> |                      | <-- Proxy-CoA2
                        +----+                 +----+
                        |MAG1|-----{MN2}       |MAG2|
                        +----+    |            +----+
                          |       |               |
             MN-HNP1 -->  |     MN-HNP2           | <-- MN-HNP3, MN-HNP4
                        {MN1}                   {MN3}

                    Figure 1: Proxy Mobile IPv6 Domain

   Once a mobile node enters a Proxy Mobile IPv6 domain and attaches to
   an access link, the mobile access gateway on that access link, after
   identifying the mobile node and acquiring its identity, will
   determine if the mobile node is authorized for the network-based
   mobility management service.

   If the network determines that the network-based mobility management
   service needs to be offered to that mobile node, the network will
   ensure that the mobile node using any of the address configuration
   mechanisms permitted by the network will be able to obtain the
   address configuration on the connected interface and move anywhere in
   that Proxy Mobile IPv6 domain.  The obtained address configuration
   includes the address(es) from its home network prefix(es), the
   default-router address on the link, and other related configuration
   parameters.  From the perspective of each mobile node, the entire
   Proxy Mobile IPv6 domain appears as a single link, the network
   ensures that the mobile node does not detect any change with respect
   to its layer-3 attachment even after changing its point of attachment
   in the network.

   The mobile node may be an IPv4-only node, IPv6-only node, or a dual
   IPv4/IPv6 node.  Based on what is enabled in the network for that
   mobile node, the mobile node will be able to obtain an IPv4, IPv6, or
   dual IPv4/IPv6 address and move anywhere in that Proxy Mobile IPv6
   domain.  However, this specification only supports IPv6 address
   mobility and when the transport network is an IPv6 network.  The
   support for IPv4 addressing or an IPv4 transport network is specified
   in the companion document [IPV4-PMIP6].

   If the mobile node connects to the Proxy Mobile IPv6 domain through
   multiple interfaces and over multiple access networks, the network
   will allocate a unique set of home network prefixes for each of the
   connected interfaces.  The mobile node will be able to configure
   address(es) on those interfaces from the respective home network
   prefix(es).  However, if the mobile node performs a handoff by moving
   its address configuration from one interface to the other, and if the
   local mobility anchor receives a handoff hint from the serving mobile
   access gateway about the same, the local mobility anchor will assign
   the same home network prefix(es) that it previously assigned prior to
   the handoff.  The mobile node will also be able to perform a handoff
   by changing its point of attachment from one mobile access gateway to
   a different mobile access gateway using the same interface and will
   be able to retain the address configuration on the attached
   interface.

  +-----+                +-----+                +-----+
  | MN  |                | MAG |                | LMA |
  +-----+                +-----+                +-----+
     |                      |                      |
 MN Attached                |                      |
     |                      |                      |
     |       MN Attached Event from MN/Network     |
     |        (Acquire MN-Id and Profile)          |
     |                      |                      |
     |--- Rtr Sol --------->|                      |
     |                      |                      |
     |                      |--- PBU ------------->|
     |                      |                      |
     |                      |                  Accept PBU
     |                      | (Allocate MN-HNP(s), Setup BCE and Tunnel)
     |                      |                      |
     |                      |<------------- PBA ---|
     |                      |                      |
     |                 Accept PBA                  |
     |          (Setup          (Set Up Tunnel and Routing)        |
     |                      |                      |
     |                      |==== Bi-Dir Tunnel ===|
     |                      |                      |
     |<--------- Rtr Adv ---|                      |
     |                      |                      |
  IP Address                |                      |
 Configuration              |                      |
     |                      |                      |

          Figure 2: Mobile Node Attachment - Signaling Call Flow

   Figure 2 shows the signaling call flow when the mobile node enters
   the Proxy Mobile IPv6 domain.  The Router Solicitation message from
   the mobile node may arrive at any time after the mobile node's
   attachment and has no strict ordering relation with the other
   messages in the call flow.

   For updating the local mobility anchor about the current location of
   the mobile node, the mobile access gateway sends a Proxy Binding
   Update message to the mobile node's local mobility anchor.  Upon
   accepting this Proxy Binding Update message, the local mobility
   anchor sends a Proxy Binding Acknowledgement message including the
   mobile node's home network prefix(es).  It also creates the Binding
   Cache entry and sets up its endpoint of the bi-directional tunnel to
   the mobile access gateway.

   The mobile access gateway on receiving the Proxy Binding
   Acknowledgement message sets up its endpoint of the bi-directional
   tunnel to the local mobility anchor and also sets up the forwarding
   for the mobile node's traffic.  At this point, the mobile access
   gateway will have all the required information for emulating the
   mobile node's home link.  It sends Router Advertisement messages to
   the mobile node on the access link advertising the mobile node's home
   network prefix(es) as the hosted on-link prefix(es).

   The mobile node, on receiving these Router Advertisement messages on
   the access link, will attempt to configure its interface using either
   stateful or stateless address configuration modes, based on the modes
   that are permitted on that access link as indicated in Router
   Advertisement messages.  At the end of a successful address
   configuration procedure, the mobile node will end up with one or more
   addresses from its home network prefix(es).

   Once the address configuration is complete, the mobile node has one
   or more valid addresses from its home network prefix(es) at the
   current point of attachment.  The serving mobile access gateway and
   the local mobility anchor also have proper routing states for
   handling the traffic sent to and from the mobile node using any one
   or more of the addresses from its home network prefix(es).

   The local mobility anchor, being the topological anchor point for the
   mobile node's home network prefix(es), receives any packets that are
   sent to the mobile node by any node in or outside the Proxy Mobile
   IPv6 domain.  The local mobility anchor forwards these received
   packets to the mobile access gateway through the bi-directional
   tunnel.  The mobile access gateway on other end of the tunnel, after
   receiving the packet, removes the outer header and forwards the
   packet on the access link to the mobile node.  However, in some
   cases, the traffic sent from a correspondent node that is locally
   connected to the mobile access gateway may not be received by the
   local mobility anchor and may be routed locally by the mobile access
   gateway (refer to Section 6.10.3).

   The mobile access gateway acts as the default router on the point-to-
   point link shared with the mobile node.  Any packet that the mobile
   node sends to any correspondent node will be received by the mobile
   access gateway and will be sent to its local mobility anchor through
   the bi-directional tunnel.  The local mobility anchor on the other
   end of the tunnel, after receiving the packet, removes the outer
   header and routes the packet to the destination.  However, in some
   cases, the traffic sent to a correspondent node that is locally
   connected to the mobile access gateway may be locally routed by the
   mobile access gateway (refer to Section 6.10.3).

    +-----+          +-----+          +-----+          +-----+
    | MN  |          |p-MAG|          | LMA |          |n-MAG|
    +-----+          +-----+          +-----+          +-----+
       |                |                |                |
       |                |==Bi-Dir Tunnel=|                |
   MN Detached          |                |                |
       |         MN Detached Event       |                |
       |                |                |                |
       |                |-- DeReg PBU -->|                |
       |                |                |                |
       |                |            Accept PBU           |
       |                |   (Start MinDelayBeforeBCEDelete Timer)
       |                |                |                |
       |                |<-------- PBA --|                |
       |                |                |                |
   MN Attached          |                |                |
       |                |                |   MN Attached event received
       |                |                |     from MN or from network
       |                |                |   (Acquire MN-Id and Profile)
       |                |                |                |
       |--- Rtr Sol ------------------------------------->|
                               ....
                                    Registration steps as in Fig. 2.
                               ....
       |                |                |==Bi-Dir Tunnel=|
       |                |                |                |
       |<------------------------------------ Rtr Adv ----|
       |                |                |                |
   MN retains HoA/HNP(s)
       |                |                |                |

            Figure 3: Mobile Node Handoff - Signaling Call Flow

   Figure 3 shows the signaling call flow for the mobile node's handoff
   from the previously attached mobile access gateway (p-MAG) to the
   newly attached mobile access gateway (n-MAG).  This call flow only
   reflects a specific message ordering, it is possible the registration
   message from the n-MAG may arrive before the de-registration message
   from the p-MAG arrives.

   After obtaining the initial address configuration in the Proxy Mobile
   IPv6 domain, if the mobile node changes its point of attachment, the
   mobile access gateway on the previous link will detect the mobile
   node's detachment from the link.  It will signal the local mobility
   anchor and will remove the binding and routing state for that mobile
   node.  The local mobility anchor, upon receiving this request, will
   identify the corresponding mobility session for which the request was
   received, and once it accepts the request, will wait for a certain
   amount of time to allow the mobile access gateway on the new link to
   update the binding.  However, if it does not receive any Proxy
   Binding Update message within the given amount of time, it will
   delete the binding cache entry.

   The mobile access gateway on the new access link, upon detecting the
   mobile node on its access link, will signal the local mobility anchor
   to update the binding state.  Once that signaling is complete, the
   serving mobile access gateway will send the Router Advertisements
   containing the mobile node's home network prefix(es), and this will
   ensure the mobile node will not detect any change with respect to the
   layer-3 attachment of its interface.

4.  Proxy Mobile IPv6 Protocol Security

   The signaling messages, Proxy Binding Update, and Proxy Binding
   Acknowledgement, exchanged between the mobile access gateway and the
   local mobility anchor, MUST be protected using end-to-end security
   association(s) offering integrity and data origin authentication.

   The mobile access gateway and the local mobility anchor MUST
   implement IPsec for protecting the Proxy Mobile IPv6 signaling
   messages [RFC4301].  That is, IPsec is a mandatory-to-implement
   security mechanism.  However, additional documents may specify
   alternative mechanisms and the mobility entities can enable a
   specific mechanism for securing Proxy Mobile IPv6 signaling messages,
   based on either a static configuration or after a dynamic negotiation
   using any standard security negotiation protocols.  As in Mobile IPv6
   [RFC3775], the use of IPsec for protecting a mobile node's data
   traffic is optional.

   IPsec Encapsulating Security Payload (ESP) [RFC4303] in transport
   mode with mandatory integrity protection SHOULD be used for
   protecting the signaling messages.  Confidentiality protection of
   these messages is not required.

   IPsec ESP [RFC4303] in tunnel mode MAY be used to protect the mobile
   node's tunneled data traffic, if protection of data traffic is
   required.

   Internet Key Exchange Protocol version 2 (IKEv2) [RFC4306] SHOULD be
   used to set up security associations between the mobile access
   gateway and the local mobility anchor to protect the Proxy Binding
   Update and Proxy Binding Acknowledgement messages.  The mobile access
   gateway and the local mobility anchor can use any of the
   authentication mechanisms, as specified in [RFC4306], for mutual
   authentication.

   The Mobile IPv6 specification [RFC3775] requires the home agent to
   prevent a mobile node from creating security associations or creating
   binding cache entries for another mobile node's home address.  In the
   protocol described in this document, the mobile node is not involved
   in creating security associations for protecting the signaling
   messages or sending binding updates.  Therefore, the local mobility
   anchor MUST restrict the creation and manipulation of proxy bindings
   to specifically authorized mobile access gateways and prefixes.  The
   local mobility anchor MUST be locally configurable to authorize such
   specific combinations.  Additional mechanisms, such as a policy store
   or Authentication, Authorization, and Accounting (AAA) may be
   employed, but these are outside the scope of this specification.

   Unlike in Mobile IPv6 [RFC3775], these signaling messages do not
   carry either the Home Address destination option or the Type 2
   Routing header, and hence the policy entries and security association
   selectors stay the same and require no special IPsec related
   considerations.

4.1.  Peer Authorization Database (PAD) Example Entries

   This section describes PAD entries [RFC4301] on the mobile access
   gateway and the local mobility anchor.  The PAD entries are only
   example configurations.  Note that the PAD is a logical concept and a
   particular mobile access gateway or a local mobility anchor
   implementation can implement the PAD in any implementation-specific
   manner.  The PAD state may also be distributed across various
   databases in a specific implementation.

   In the example shown below, the identity of the local mobility anchor
   is assumed to be lma_identity_1 and the identity of the mobile access
   gateway is assumed to be mag_identity_1.

       mobile access gateway PAD:
         - IF remote_identity = lma_identity_1
              Then authenticate (shared secret/certificate/EAP)
              and authorize CHILD_SAs for remote address lma_address_1

       local mobility anchor PAD:
         - IF remote_identity = mag_identity_1
              Then authenticate (shared secret/certificate/EAP)
              and authorize CHILD_SAs for remote address mag_address_1

                           Figure 4: PAD Entries

   The list of authentication mechanisms in the above examples is not
   exhaustive.  There could be other credentials used for authentication
   stored in the PAD.

4.2.  Security Policy Database (SPD) Example Entries

   This section describes the security policy entries [RFC4301] on the
   mobile access gateway and the local mobility anchor required to
   protect the Proxy Mobile IPv6 signaling messages.  The SPD entries
   are only example configurations.  A particular mobile access gateway
   or a local mobility anchor implementation could configure different
   SPD entries as long as they provide the required security.

   In the example shown below, the identity of the mobile access gateway
   is assumed to be mag_identity_1, the address of the mobile access
   gateway is assumed to be mag_address_1, and the address of the local
   mobility anchor is assumed to be lma_address_1.  The acronym MH
   represents the protocol number for the Mobility Header [RFC3775],
   while the terms local_mh_type and remote_mh_type stand for local
   mobility header type and remote mobility header type, respectively.

      mobile access gateway SPD-S:
        - IF local_address = mag_address_1 &
             remote_address = lma_address_1 &
             proto = MH & (local_mh_type = BU | remote_mh_type = BA)
          Then use SA ESP transport mode
          Initiate using IDi = mag_identity_1 to address lma_address_1

      local mobility anchor SPD-S:
        - IF local_address = lma_address_1 &
             remote_address = mag_address_1 &
             proto = MH & (local_mh_type = BA | remote_mh_type = BU)
          Then use SA ESP transport mode

                           Figure 5: SPD Entries

5.  Local Mobility Anchor Operation

   The local mobility anchor MUST support the home agent function as
   defined in [RFC3775] and the extensions defined in this
   specification.  A home agent with these modifications and enhanced
   capabilities for supporting the Proxy Mobile IPv6 protocol is
   referred to as a local mobility anchor.

   This section describes the operational details of the local mobility
   anchor.

5.1.  Extensions to Binding Cache Entry Data Structure

   Every local mobility anchor MUST maintain a Binding Cache entry for
   each currently registered mobile node.  A Binding Cache entry is a
   conceptual data structure, described in Section 9.1 of [RFC3775].

   For supporting this specification, the Binding Cache Entry data
   structure needs to be extended with the following additional fields.

   o  A flag indicating whether or not this Binding Cache entry is
      created due to a proxy registration.  This flag is set to value 1
      for Binding Cache entries that are proxy registrations and is set
      to value 0 for all other entries.

   o  The identifier of the registered mobile node, MN-Identifier.  This
      identifier is obtained from the Mobile Node Identifier Option
      [RFC4283] present in the received Proxy Binding Update message.

   o  The link-layer identifier of the mobile node's connected interface
      on the access link.  This identifier can be acquired from the
      Mobile Node Link-layer Identifier option, present in the received
      Proxy Binding Update message.  If the option was not present in
      the request, this variable length field MUST be set to two
      (octets) and MUST be initialized to a value of ALL_ZERO.

   o  The link-local address of the mobile access gateway on the point-
      to-point link shared with the mobile node.  This is generated by
      the local mobility anchor after accepting the initial Proxy
      Binding Update message.

   o  A list of IPv6 home network prefixes assigned to the mobile node's
      connected interface.  The home network prefix(es) may have been
      statically configured in the mobile node's policy profile, or,
      they may have been dynamically allocated by the local mobility
      anchor.  Each one of these prefix entries will also include the
      corresponding prefix length.

   o  The tunnel interface identifier (tunnel-if-id) of the bi-
      directional tunnel between the local mobility anchor and the
      mobile access gateway where the mobile node is currently anchored.
      This is internal to the local mobility anchor.  The tunnel
      interface identifier is acquired during the tunnel creation.

   o  The access technology type, by which the mobile node is currently
      attached.  This is obtained from the Access Technology Type
      option, present in the Proxy Binding Update message.

   o  The 64-bit timestamp value of the most recently accepted Proxy
      Binding Update message sent for this mobile node.  This is the
      time of day on the local mobility anchor, when the message was
      received.  If the Timestamp option is not present in the Proxy
      Binding Update message (i.e., when the sequence-number-based
      scheme is in use), the value MUST be set to ALL_ZERO.

   Typically, any one of the mobile node's home network prefixes from
   its mobility session may be used as a key for locating its Binding
   Cache entry in all cases except when there has been a handoff of the
   mobile node's session to a new mobile access gateway, and that mobile
   access gateway is unaware of the home network prefix(es) assigned to
   that mobility session.  In such handoff cases, the Binding Cache
   entry can be located under the considerations specified in Section
   5.4.1.

5.2.  Supported Home Network Prefix Models

   This specification supports the Per-MN-Prefix model and does not
   support the Shared-Prefix model.  According to the Per-MN-Prefix
   model, home network prefix(es) assigned to a mobile node are for that
   mobile node's exclusive use and no other node shares an address from
   that prefix (other than the Subnet-Router anycast address [RFC4291]
   that is used by the mobile access gateway hosting that prefix on that
   link).

   There may be more than one prefix assigned to a given interface of
   the mobile node; all of those assigned prefixes MUST be unique to
   that mobile node, and all are part of exactly one mobility session.
   If the mobile node simultaneously attaches to the Proxy Mobile IPv6
   domain through multiple interfaces, each of the attached interfaces
   MUST be assigned one or more unique prefixes.  Prefixes that are not
   assigned to the same interface MUST NOT be managed under the same
   mobility session.

   The mobile node's home network prefix(es) assigned to a given
   interface of a mobile node (part of a mobility session) will be
   hosted on the access link where the mobile node is attached (using
   that interface).  The local mobility anchor is not required to
   perform any proxy Neighbor Discovery (ND) operations [RFC4861] for
   defending the mobile node's home address(es), as the prefixes are not
   locally hosted on the local mobility anchor.  However, from the
   routing perspective, the home network prefix(es) is topologically
   anchored on the local mobility anchor.

5.3.  Signaling Considerations

   This section provides the rules for processing the signaling
   messages.  The processing rules specified in this section and other
   related sections are chained and are in a specific order.  When
   applying these considerations for processing the signaling messages,
   the specified order MUST be maintained.

5.3.1.  Processing Proxy Binding Updates

   1.   The received Proxy Binding Update message (a Binding Update
        message with the 'P' flag set to value of 1, format specified in
        Section 8.1) MUST be authenticated as described in Section 4.
        When IPsec is used for message authentication, the Security
        Parameter Index (SPI) in the IPsec header [RFC4306] of the
        received packet is needed for locating the security association,
        for authenticating the Proxy Binding Update message.

   2.   The local mobility anchor MUST observe the rules described in
        Section 9.2 of [RFC3775] when processing the Mobility Header in
        the received Proxy Binding Update message.

   3.   The local mobility anchor MUST ignore the check, specified in
        Section 10.3.1 of [RFC3775], related to the presence of the Home
        Address destination option in the Proxy Binding Update message.

   4.   The local mobility anchor MUST identify the mobile node from the
        identifier present in the Mobile Node Identifier option
        [RFC4283] of the Proxy Binding Update message.  If the Mobile
        Node Identifier option is not present in the Proxy Binding
        Update message, the local mobility anchor MUST reject the
        request and send a Proxy Binding Acknowledgement message with
        Status field set to MISSING_MN_IDENTIFIER_OPTION (Missing Mobile
        Node Identifier option) and the identifier in the Mobile Node
        Identifier option carried in the message MUST be set to a zero
        length identifier.

   5.   The local mobility anchor MUST apply the required policy checks,
        as explained in Section 4, to verify that the sender is a
        trusted mobile access gateway authorized to send Proxy Binding
        Update messages on behalf of this mobile node.

   6.   If the local mobility anchor determines that the requesting node
        is not authorized to send Proxy Binding Update messages for the
        identified mobile node, it MUST reject the request and send a
        Proxy Binding Acknowledgement message with the Status field set
        to MAG_NOT_AUTHORIZED_FOR_PROXY_REG (not authorized to send
        proxy binding updates).

   7.   If the local mobility anchor cannot identify the mobile node
        based on the identifier present in the Mobile Node Identifier
        option [RFC4283] of the Proxy Binding Update message, it MUST
        reject the request and send a Proxy Binding Acknowledgement
        message with the Status field set to
        NOT_LMA_FOR_THIS_MOBILE_NODE (Not a local mobility anchor for
        this mobile node).

   8.   If the local mobility anchor determines that the mobile node is
        not authorized for the network-based mobility management
        service, it MUST reject the request and send a Proxy Binding
        Acknowledgement message with the Status field set to
        PROXY_REG_NOT_ENABLED (Proxy Registration not enabled).

   9.   The local mobility anchor MUST apply the considerations
        specified in Section 5.5 for processing the Sequence Number
        field and the Timestamp option (if present) in the Proxy Binding
        Update message.

   10.  If there is no Home Network Prefix option(s) (with any value)
        present in the Proxy Binding Update message, the local mobility
        anchor MUST reject the request and send a Proxy Binding
        Acknowledgement message with the Status field set to
        MISSING_HOME_NETWORK_PREFIX_OPTION (Missing Home Network Prefix
        option).

   11.  If the Handoff Indicator option is not present in the Proxy
        Binding Update message, the local mobility anchor MUST reject
        the request and send a Proxy Binding Acknowledgement message
        with the Status field set to MISSING_HANDOFF_INDICATOR_OPTION
        (Missing Handoff Indicator option).

   12.  If the Access Technology Type option is not present in the Proxy
        Binding Update message, the local mobility anchor MUST reject
        the request and send a Proxy Binding Acknowledgement message
        with the Status field set to MISSING_ACCESS_TECH_TYPE_OPTION
        (Missing Access Technology Type option).

   13.  Considerations specified in Section 5.4.1 MUST be applied for
        performing the Binding Cache entry existence test.  If those
        checks specified in Section 5.4.1 result in associating the
        received Proxy Binding Update message to a new mobility session
        creation request, considerations from Section 5.3.2 (Initial
        Binding Registration - New Mobility Session), MUST be applied.
        If those checks result in associating the request to an existing
        mobility session, the following checks determine the next set of
        processing rules that need to be applied.

        *  If the Handoff Indicator field in the Handoff Indicator
           option present in the request is set to a value of 5 (Handoff
           state not changed), considerations from Section 5.3.3
           (Binding Lifetime Extension - No handoff) MUST be applied.

        *  If the received Proxy Binding Update message has the lifetime
           value of zero, considerations from Section 5.3.5 (Binding De-
           Registration) MUST be applied.

        *  For all other cases, considerations from Section 5.3.4
           (Binding Lifetime Extension - After handoff) MUST be applied.

   14.  When sending the Proxy Binding Acknowledgement message with any
        Status field value, the message MUST be constructed as specified
        in Section 5.3.6.

5.3.2.  Initial Binding Registration (New Mobility Session)

   1.  If there is at least one instance of the Home Network Prefix
       option present in the Proxy Binding Update message with the
       prefix value set to ALL_ZERO, the local mobility anchor MUST
       allocate one or more home network prefixes to the mobile node and
       assign it to the new mobility session created for the mobile
       node.  The local mobility anchor MUST ensure the allocated
       prefix(es) is not in use by any other node or mobility session.
       The decision on how many prefixes to be allocated for the
       attached interface can be based on a global policy or a policy
       specific to that mobile node.  However, when stateful address
       autoconfiguration using DHCP is supported on the link,
       considerations from Section 6.11 MUST be applied for the prefix
       assignment.

   2.  If the local mobility anchor is unable to allocate any home
       network prefix for the mobile node, it MUST reject the request
       and send a Proxy Binding Acknowledgement message with the Status
       field set to 130 (Insufficient resources).

   3.  If there are one or more Home Network Prefix options present in
       the Proxy Binding Update message (with each of the prefixes set
       to a NON_ZERO value), the local mobility anchor, before accepting
       that request, MUST ensure each one of those prefixes is owned by
       the local mobility anchor, and further that the mobile node is
       authorized to use these prefixes.  If the mobile node is not
       authorized to use any one or more of those prefixes, the local
       mobility anchor MUST reject the request and send a Proxy Binding
       Acknowledgement message with the Status field set to
       NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX (mobile node not
       authorized for one or more of the requesting home network
       prefixes).

   4.  Upon accepting the request, the local mobility anchor MUST create
       a Binding Cache entry for the mobile node.  It must set the
       fields in the Binding Cache entry to the accepted values for that
       registration.

   5.  If there is no existing bi-directional tunnel to the mobile
       access gateway that sent the request, the local mobility anchor
       MUST establish a bi-directional tunnel to that mobile access
       gateway.  Considerations from Section 5.6.1 MUST be applied for
       managing the dynamically created bi-directional tunnel.

   6.  The local mobility anchor MUST create a prefix route(s) over the
       tunnel to the mobile access gateway for forwarding any traffic
       received for the mobile node's home network prefix(es) associated
       with this mobility session.  The created tunnel and the routing
       state MUST result in the forwarding behavior on the local
       mobility anchor as specified in Section 5.6.2.

   7.  The local mobility anchor MUST send the Proxy Binding
       Acknowledgement message with the Status field set to 0 (Proxy
       Binding Update Accepted).  The message MUST be constructed as
       specified in Section 5.3.6.

5.3.3.  Binding Lifetime Extension (No Handoff)

   1.  Upon accepting the Proxy Binding Update message for extending the
       binding lifetime, received from the same mobile access gateway
       (if the Proxy-CoA address in the Binding Cache entry is the same as the
       Proxy-CoA address in the request) that last updated the binding, the
       local mobility anchor MUST update the Binding Cache entry with
       the accepted registration values.

   2.  The local mobility anchor MUST send the Proxy Binding
       Acknowledgement message with the Status field set to 0 (Proxy
       Binding Update Accepted).  The message MUST be constructed as
       specified in Section 5.3.6.

5.3.4.  Binding Lifetime Extension (After Handoff)

   1.  Upon accepting the Proxy Binding Update message for extending the
       binding lifetime, received from a new mobile access gateway (if
       the Proxy-CoA address in the Binding Cache entry does not match the
       Proxy-CoA address in the request) where the mobile node's mobility
       session is handed off, the local mobility anchor MUST update the
       Binding Cache entry with the accepted registration values.

   2.  The local mobility anchor MUST remove the previously created
       route(s) for the mobile node's home network prefix(es) associated
       with this mobility session.  Additionally, if there are no other
       mobile nodes sharing the dynamically created bi-directional
       tunnel to the previous mobile access gateway, the tunnel SHOULD
       be deleted, applying considerations from section 5.6.1 (if the
       tunnel is a dynamically created tunnel and not a fixed pre-
       established tunnel).

   3.  If there is no existing bi-directional tunnel to the mobile
       access gateway that sent the request, the local mobility anchor
       MUST establish a bi-directional tunnel to that mobile access
       gateway.  Considerations from Section 5.6.1 MUST be applied for
       managing the dynamically created bi-directional tunnel.

   4.  The local mobility anchor MUST create prefix route(s) over the
       tunnel to the mobile access gateway for forwarding any traffic
       received for the mobile node's home network prefix(es) associated
       with that mobility session.  The created tunnel and routing state
       MUST result in the forwarding behavior on the local mobility
       anchor as specified in Section 5.6.2.

   5.  The local mobility anchor MUST send the Proxy Binding
       Acknowledgement message with the Status field set to 0 (Proxy
       Binding Update Accepted).  The message MUST be constructed as
       specified in Section 5.3.6.

5.3.5.  Binding De-Registration

   1.  If the received Proxy Binding Update message with the lifetime
       value of zero, has a Source Address in the IPv6 header (or the
       address in the Alternate Care-of Address option, if the option is
       present) different from what is present in the Proxy-CoA address field in
       the Binding Cache entry, the local mobility anchor MUST ignore
       the request.

   2.  Upon accepting the Proxy Binding Update message, with the
       lifetime value of zero, the local mobility anchor MUST wait for
       MinDelayBeforeBCEDelete amount of time, before it deletes the
       Binding Cache entry.  However, it MUST send the Proxy Binding
       Acknowledgement message with the Status field set to 0 (Proxy
       Binding Update Accepted).  The message MUST be constructed as
       specified in Section 5.3.6.

       *  During this wait period, the local mobility anchor SHOULD drop
          the mobile node's data traffic.

       *  During this wait period, if the local mobility anchor receives
          a valid Proxy Binding Update message for the same mobility
          session with the lifetime value of greater than zero, and if
          that request is accepted, then the Binding Cache entry MUST
          NOT be deleted, but must be updated with the newly accepted
          registration values, and the wait period should be ended.

       *  By the end of this wait period, if the local mobility anchor
          did not receive any valid Proxy Binding Update messages for
          this mobility session, then it MUST delete the Binding Cache
          entry and remove the routing state created for that mobility
          session.  The local mobility anchor can potentially reassign
          the prefix(es) associated with this mobility session to other
          mobile nodes.

5.3.6.  Constructing the Proxy Binding Acknowledgement Message

   o  The local mobility anchor, when sending the Proxy Binding
      Acknowledgement message to the mobile access gateway, MUST
      construct the message as specified below.

          IPv6 header (src=LMAA, dst=Proxy-CoA)
            Mobility header
               - BA    /* P flag must be set to value of 1 */
              Mobility Options
               - Mobile Node Identifier option            (mandatory)
               - Home Network Prefix option(s)            (mandatory)
               - Handoff Indicator option                 (mandatory)
               - Access Technology Type option            (mandatory)
               - Timestamp option                         (optional)
               - Mobile Node Link-layer Identifier option (optional)
               - Link-local Address option                (optional)

            Figure 6: Proxy Binding Acknowledgement Message Format

   o  The Source Address field in the IPv6 header of the message MUST be
      set to the destination address of the received Proxy Binding
      Update message.

   o  The Destination Address field in the IPv6 header of the message
      MUST be set to the source address of the received Proxy Binding
      Update message.  When there is no Alternate Care-of Address option
      present in the request, the destination address is the same as the
      Proxy-CoA address,
      Proxy-CoA; otherwise, the address may not be the same as the
      Proxy-CoA.

   o  The Mobile Node Identifier option [RFC4283] MUST be present.  The
      identifier field in the option MUST be copied from the Mobile Node
      Identifier option in the received Proxy Binding Update message.
      If the option was not present in the request, the identifier in
      the option MUST be set to a zero length identifier.

   o  At least one Home Network Prefix option MUST be present.

      *  If the Status field is set to a value greater than or equal to
         128, i.e., if the Proxy Binding Update is rejected, all the
         Home Network Prefix options that were present in the request
         (along with their prefix values) MUST be present in the reply.
         But, if there was no Home Network Prefix option present in the
         request, then there MUST be only one Home Network Prefix option
         with the value in the option set to ALL_ZERO.

      *  For all other cases, there MUST be a Home Network Prefix option
         for each of the assigned home network prefixes (for that
         mobility session), and with the prefix value in the option set
         to the allocated prefix value.

   o  The Handoff Indicator option MUST be present.  The handoff
      indicator field in the option MUST be copied from the Handoff
      Indicator option in the received Proxy Binding Update message.  If
      the option was not present in the request, the value in the option
      MUST be set to zero.

   o  The Access Technology Type option MUST be present.  The access
      technology type field in the option MUST be copied from the Access
      Technology Type option in the received Proxy Binding Update
      message.  If the option was not present in the request, the value
      in the option MUST be set to zero.

   o  The Timestamp option MUST be present only if the same option was
      present in the received Proxy Binding Update message and MUST NOT
      be present otherwise.  Considerations from Section 5.5 must be
      applied for constructing the Timestamp option.

   o  The Mobile Node Link-layer Identifier option MUST be present only
      if the same option was present in the received Proxy Binding
      Update message and MUST NOT be present otherwise.  The link-layer
      identifier value MUST be copied from the Mobile Node Link-layer
      Identifier option present in the received Proxy Binding Update
      message.

   o  The Link-local Address option MUST be present only if the same
      option was present in the received Proxy Binding Update message
      and MUST NOT be present otherwise.  If the Status field in the
      reply is set to a value greater than or equal to 128, i.e., if the
      Proxy Binding Update is rejected, then the link-local address from
      the request MUST be copied to the Link-local Address option in the
      reply, otherwise the following considerations apply.

      *  If the received Proxy Binding Update message has the Link-local
         Address option with ALL_ZERO value and if there is an existing
         Binding Cache entry associated with this request, then the
         link-local address from the Binding Cache entry MUST be copied
         to the Link-local Address option in the reply.

      *  If the received Proxy Binding Update message has the Link-local
         Address option with ALL_ZERO value and if there is no existing
         Binding Cache entry associated with this request, then the
         local mobility anchor MUST generate the link-local address that
         the mobile access gateway can use on the point-to-point link
         shared with the mobile node.  This generated address MUST be
         copied to the Link-local Address option in the reply.  The same
         address MUST also be copied to the link-local address field of
         Binding Cache entry created for this mobility session.

      *  If the received Proxy Binding Update message has the Link-local
         Address option with NON_ZERO value, then the link-local address
         from the request MUST be copied to the Link-local Address
         option in the reply.  The same address MUST also be copied to
         the link-local address field of the Binding Cache entry
         associated with this request (after creating the Binding Cache
         entry, if one does not exist).

   o  If IPsec is used for protecting the signaling messages, the
      message MUST be protected using the security association existing
      between the local mobility anchor and the mobile access gateway.

   o  Unlike in Mobile IPv6 [RFC3775], the Type 2 Routing header MUST
      NOT be present in the IPv6 header of the packet.

5.4.  Multihoming Support

   This specification allows mobile nodes to connect to a Proxy Mobile
   IPv6 domain through multiple interfaces for simultaneous access.  The
   following are the key aspects of this multihoming support.

   o  When a mobile node connects to a Proxy Mobile IPv6 domain through
      multiple interfaces for simultaneous access, the local mobility
      anchor MUST allocate a mobility session for each of the attached
      interfaces.  Each mobility session should be managed under a
      separate Binding Cache entry and with its own lifetime.

   o  The local mobility anchor MAY allocate more than one home network
      prefix for a given interface of the mobile node.  However, all the
      prefixes associated with a given interface MUST be managed as part
      of one mobility session, associated with that interface.

   o  The local mobility anchor MUST allow for a handoff between two
      different interfaces of a mobile node.  In such a scenario, all
      the home network prefixes associated with one interface (part of
      one mobility session) will be associated with a different
      interface of the mobile node.  The decision on when to create a
      new mobility session and when to update an existing mobility
      session MUST be based on the Handover hint present in the Proxy
      Binding Update message and under the considerations specified in
      this section.

5.4.1.  Binding Cache Entry Lookup Considerations

   There can be multiple Binding Cache entries for a given mobile node.
   When doing a lookup for a mobile node's Binding Cache entry for
   processing a received Proxy Binding Update message, the local
   mobility anchor MUST apply the following multihoming considerations
   (in the below specified order, starting with Section 5.4.1.1).  These
   rules are chained with the processing rules specified in Section 5.3.

5.4.1.1.  Home Network Prefix Option (NON_ZERO Value) Present in the
          Request

 +=====================================================================+
 |                Registration/De-Registration Message                 |
 +=====================================================================+
 |             At least one HNP Option with NON_ZERO Value             |
 +=====================================================================+
 |                                 ATT                                 |
 +=====================================================================+
 |   MN-LL-Identifier Opt Present   | MN-LL-Identifier Opt Not Present |
 +=====================================================================+
 |                                 HI                                  |
 +==================================+==================================+
 | BCE Lookup Key: Any of the Home Network Prefixes from the request   |
 +=====================================================================+

   Figure 7: Binding Cache Entry (BCE) Lookup Using Home Network Prefix

   If there is at least one Home Network Prefix option present in the
   request with a NON_ZERO prefix value and irrespective of the presence
   of the Mobile Node Link-layer Identifier option in the request, the
   following considerations MUST be applied.  If there is more than one
   instance of the Home Network Prefix option, any one of the Home
   Network Prefix options present in the request (with NON_ZERO prefix
   value) can be used for locating the Binding Cache entry.

   1.  The local mobility anchor MUST verify if there is an existing
       Binding Cache entry with one of its home network prefixes
       matching the prefix value in one of the Home Network Prefix
       options of the received Proxy Binding Update message.

   2.  If a Binding Cache entry does not exist (with one of its home
       network prefixes in the Binding Cache entry matching the prefix
       value in one of the Home Network Prefix options of the received
       Proxy Binding Update message), the request MUST be considered as
       a request for creating a new mobility session.

   3.  If there exists a Binding Cache entry (with one of its home
       network prefixes in the Binding Cache entry matching the prefix
       value in one of the Home Network Prefix options of the received
       Proxy Binding Update message), but if the mobile node identifier
       in the entry does not match the mobile node identifier in the
       Mobile Node Identifier option of the received Proxy Binding
       Update message, the local mobility anchor MUST reject the request
       with the Status field value set to
       NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX (mobile node is not
       authorized for one or more of the requesting home network
       prefixes).

   4.  If there exists a Binding Cache entry (matching MN-Identifier and
       one of its home network prefixes in the Binding Cache entry
       matching the prefix value in one of the Home Network Prefix
       options of the received Proxy Binding Update message), but if all
       the prefixes in the request do not match all the prefixes in the
       Binding Cache entry, or if they do not match in count, then the
       local mobility anchor MUST reject the request with the Status
       field value set to BCE_PBU_PREFIX_SET_DO_NOT_MATCH (all the home
       network prefixes listed in the BCE do not match all the prefixes
       in the received PBU).

   5.  If there exists a Binding Cache entry (matching MN-Identifier and
       all the home network prefixes in the Binding Cache entry matching
       all the home network prefixes in the received Proxy Binding
       Update message) and if any one or more of these below stated
       conditions match, the request MUST be considered as a request for
       updating that Binding Cache entry.

       *  If the Handoff Indicator field in the Handoff Indicator option
          present in the request is set to a value of 2 (Handoff between
          two different interfaces of the mobile node).

       *  If there is no Mobile Node Link-layer Identifier option
          present in the request, the link-layer identifier value in the
          Binding Cache entry is set to ALL_ZERO, the access technology
          type field in the Access Technology Type option present in the
          request matches the access technology type in the Binding
          Cache entry, and if the Handoff Indicator field in the Handoff
          Indicator option present in the request is set to a value of 3
          (Handoff between mobile access gateways for the same
          interface).

       *  If the Proxy-CoA address in the Binding Cache entry matches the source
          address of the request (or the address in the
          alternate Alternate
          Care-of Address option, if the option is present) and if the
          access technology type field in the Access Technology Type
          option present in the request matches the access technology
          type in the Binding Cache entry.

   6.  For all other cases, the message MUST be considered as a request
       for creating a new mobility session.  However, if the received
       Proxy Binding Update message has the lifetime value of zero and
       if the request cannot be associated with any existing mobility
       session, the message MUST be silently ignored.

5.4.1.2.  Mobile Node Link-Layer Link-layer Identifier Option Present in the
          Request

 +=====================================================================+
 |                   Registration/De-Registration Message              |
 +=====================================================================+
 |                  No HNP option with a NON_ZERO Value                |
 +=====================================================================+
 |                                 ATT                                 |
 +=====================================================================+
 |         MN-LL-Identifier Option Present (NON_ZERO Value)            |
 +=====================================================================+
 |                                 HI                                  |
 +==================================+==================================+
 |  BCE Lookup Keys: (MN-Identifier + ATT + MN-LL-Identifier)          |
 +=====================================================================+

             Figure 8: BCE Lookup Using Link-Layer Link-layer Identifier

   If there is no Home Network Prefix option present in the request with
   a NON_ZERO prefix value, but if there is a Mobile Node Link-layer
   Identifier option present in the request, then the following
   considerations MUST be applied for locating the Binding Cache entry.

   1.  The local mobility anchor MUST verify if there is an existing
       Binding Cache entry, with the mobile node identifier matching the
       identifier in the received Mobile Node Identifier option, access
       technology type matching the value in the received Access
       Technology Type option, and the link-layer identifier value
       matching the identifier in the received Mobile Node Link-layer
       Identifier option.

   2.  If there exists a Binding Cache entry (matching MN-Identifier,
       Access Technology Type (ATT), and MN-LL-Identifier), the request
       MUST be considered as a request for updating that Binding Cache
       entry.

   3.  If there does not exist a Binding Cache entry (matching MN-
       Identifier, ATT, and MN-LL-Identifier) and the Handoff Indicator
       field in the Handoff Indicator option present in the request is
       set to a value of 2 (Handoff between two different interfaces of
       the mobile node).  The local mobility anchor MUST apply the
       following additional considerations.

       *  The local mobility anchor MUST verify if there exists one and
          only one Binding Cache entry with the mobile node identifier
          matching the identifier in the Mobile Node Identifier option
          present in the request and for any link-layer identifier
          value.  If there exists only one such entry (matching the MN-
          Identifier), the request MUST be considered as a request for
          updating that Binding Cache entry.

   4.  If there does not exist a Binding Cache entry (matching MN-
       Identifier, ATT, and MN-LL-Identifier) and if the Handoff
       Indicator field in the Handoff Indicator option present in the
       request is set to a value of 4 (Handoff state unknown), the local
       mobility anchor MUST apply the following additional
       considerations.

       *  The local mobility anchor MUST verify if there exists one and
          only one Binding Cache entry with the mobile node identifier
          matching the identifier in the Mobile Node Identifier option
          present in the request and for any link-layer identifier
          value.  If there exists only one such entry (matching the MN-
          Identifier), the local mobility anchor SHOULD wait until the
          existing Binding Cache entry is de-registered by the
          previously serving mobile access gateway, before the request
          can be considered as a request for updating that Binding Cache
          entry.  However, if there is no de-registration message that
          is received within MaxDelayBeforeNewBCEAssign amount of time,
          the local mobility anchor, upon accepting the request, MUST
          consider the request as a request for creating a new mobility
          session.  The local mobility anchor MAY also choose to create
          a new mobility session without waiting for a de-registration
          message, and this should be configurable on the local mobility
          anchor.

   5.  For all other cases, the message MUST be considered as a request
       for creating a new mobility session.  However, if the received
       Proxy Binding Update message has the lifetime value of zero and
       if the request cannot be associated with any existing mobility
       session, the message MUST be silently ignored.

5.4.1.3.  Mobile Node Link-Layer Link-layer Identifier Option Not Present in the
          Request

+=====================================================================+
|                 Registration/De-Registration Message                |         +=====================================================================+
|                 No HNP option with a NON_ZERO Value                 |
+=====================================================================+
|                                 ATT                                 |
+=====================================================================+
|                 MN-LL-Identifier Option Not Present                 |
+=====================================================================+
|                                 HI                                  |
+==================================+==================================+
|                   BCE Lookup Key: (MN-Identifier)                   |
+=====================================================================+

             Figure 9: BCE Lookup Using Mobile Node Identifier

   If there is no Home Network Prefix option present in the request with
   a NON_ZERO prefix value and if there is also no Mobile Node Link-
   layer Identifier option present in the request, then the following
   considerations MUST be applied for locating the Binding Cache entry.

   1.  The local mobility anchor MUST verify if there exists one and
       only one Binding Cache entry with the mobile node identifier
       matching the identifier in the Mobile Node Identifier option
       present in the request.

   2.  If there exists only one such entry (matching the MN-Identifier)
       and the Handoff Indicator field in the Handoff Indicator option
       present in the request is set to a value of 2 (Handoff between
       two different interfaces of the mobile node) or set to a value of
       3 (Handoff between mobile access gateways for the same
       interface), then the request MUST be considered as a request for
       updating that Binding Cache entry.

   3.  If there exists only one such entry (matching the MN-Identifier)
       and the Handoff Indicator field in the Handoff Indicator option
       present in the request is set to a value of 4 (Handoff state
       unknown), the local mobility anchor SHOULD wait until the
       existing Binding Cache entry is de-registered by the previously
       serving mobile access gateway before the request can be
       considered as a request for updating that Binding Cache entry.
       However, if there is no de-registration message that is received
       within MaxDelayBeforeNewBCEAssign amount of time, the local
       mobility anchor, upon accepting the request, MUST consider the
       request as a request for creating a new mobility session.  The
       local mobility anchor MAY also choose to create a new mobility
       session without waiting for a de-registration message, and this
       should be configurable on the local mobility anchor.

   4.  For all other cases, the message MUST be considered as a request
       for creating a new mobility session.  However, if the received
       Proxy Binding Update message has the lifetime value of zero and
       if the request cannot be associated with any existing mobility
       session, the message MUST be silently ignored.

5.5.  Timestamp Option for Message Ordering

   Mobile IPv6 [RFC3775] uses the Sequence Number field in binding
   registration messages as a way for the home agent to process the
   binding updates in the order they were sent by a mobile node.  The
   home agent and the mobile node are required to manage this counter
   over the lifetime of a binding.  However, in Proxy Mobile IPv6, as
   the mobile node moves from one mobile access gateway to another and
   in the absence of mechanisms such as context transfer between the
   mobile access gateways, the serving mobile access gateway will be
   unable to determine the sequence number that it needs to use in the
   signaling messages.  Hence, the sequence number scheme, as specified
   in [RFC3775], will be insufficient for Proxy Mobile IPv6.

   If the local mobility anchor cannot determine the sending order of
   the received Proxy Binding Update messages, it may potentially
   process an older message sent by a mobile access gateway where the
   mobile node was previously anchored, but delivered out of order,
   resulting in incorrectly updating the mobile node's Binding Cache
   entry and creating a routing state for tunneling the mobile node's
   traffic to the previous mobile access gateway.

   For solving this problem, this specification adopts two alternative
   solutions.  One is based on timestamps and the other based on
   sequence numbers, as defined in [RFC3775].

   The basic principle behind the use of timestamps in binding
   registration messages is that the node generating the message inserts
   the current time of day, and the node receiving the message checks
   that this timestamp is greater than all previously accepted
   timestamps.  The timestamp-based solution may be used when the
   serving mobile access gateways in a Proxy Mobile IPv6 domain do not
   have the ability to obtain the last sequence number that was sent in
   a Proxy Binding Update message for updating a given mobile node's
   binding.

   Clock drift reduces the effectiveness of the timestamp mechanism.
   The time required for reconnection is the total of the time required
   for the mobile node to roam between two mobile access gateways and
   the time required for the serving mobile access gateway to detect the
   mobile node on its access link and construct the Proxy Binding Update
   message.  If the clock skew on any one of these two neighboring
   mobile access gateways (relative to the common time source used for
   clock synchronization) is more than half this reconnection time, the
   timestamp solution will not predictably work in all cases and hence
   SHOULD NOT be used.

   As an alternative to the Timestamp-based approach, the specification
   also allows the use of Sequence-Number-based scheme, as specified in
   [RFC3775].  However, for this scheme to work, the serving mobile
   access gateway in a Proxy Mobile IPv6 domain MUST have the ability to
   obtain the last sequence number that was sent in a binding
   registration message.  The sequence number MUST be maintained on a
   per mobile node basis and MUST be available to the serving mobile
   access gateway.  This may be achieved by using context transfer
   schemes or by maintaining the sequence number in a policy store.
   However, the specific details on how the mobile node's sequence
   number is made available to the serving mobile access gateway prior
   to sending the Proxy Binding Update message is outside the scope of
   this document.

   Using the Timestamp-Based Approach:

   1.  A local mobility anchor implementation MUST support the Timestamp
       option.  If the Timestamp option is present in the received Proxy
       Binding Update message, then the local mobility anchor MUST
       include a valid Timestamp option in the Proxy Binding
       Acknowledgement message that it sends to the mobile access
       gateway.

   2.  All the mobility entities in a Proxy Mobile IPv6 domain that are
       exchanging binding registration messages using the Timestamp
       option MUST have adequately synchronized time-of-day clocks.
       This is the essential requirement for this solution to work.  If
       this requirement is not met, the solution will not predictably
       work in all cases.

   3.  The mobility entities in a Proxy Mobile IPv6 domain SHOULD
       synchronize their clocks to a common time source.  For
       synchronizing the clocks, the nodes MAY use the Network Time
       Protocol [RFC4330].  Deployments MAY also adopt other approaches
       suitable for that specific deployment.  Alternatively, if there
       is a mobile node generated timestamp that is increasing at every
       attachment to the access link and if that timestamp is available
       to the mobile access gateway (e.g., the Timestamp option in the
       SEND [RFC3971] messages that the mobile node sends), the mobile
       access gateway can use this timestamp or sequence number in the
       Proxy Binding Update messages and does not have to depend on any
       external clock source.  However, the specific details on how this
       is achieved are outside the scope of this document.

   4.  When generating the timestamp value for building the Timestamp
       option, the mobility entities MUST ensure that the generated
       timestamp is the elapsed time past the same reference epoch, as
       specified in the format for the Timestamp option (Section 8.8).

   5.  If the Timestamp option is present in the received Proxy Binding
       Update message, the local mobility anchor MUST ignore the
       sequence number field in the message.  However, it MUST copy the
       sequence number from the received Proxy Binding Update message to
       the Proxy Binding Acknowledgement message.

   6.  Upon receipt of a Proxy Binding Update message with the Timestamp
       option, the local mobility anchor MUST check the timestamp field
       for validity.  In order for it to be considered valid, the
       following MUST be true.

       *  The timestamp value contained in the Timestamp option MUST be
          close enough (within TimestampValidityWindow amount of time
          difference) to the local mobility anchor's time-of-day clock.
          However, if the flag MobileNodeGeneratedTimestampInUse is set
          to a value of 1, the local mobility anchor MUST ignore this
          check and perform only the following check.

       *  The timestamp MUST be greater than all previously accepted
          timestamps in the Proxy Binding Update messages sent for that
          mobile node.

   7.  If the timestamp value in the received Proxy Binding Update is
       valid (validity as specified in the above considerations) or if
       the flag MobileNodeGeneratedTimestampInUse is set to value of 1,
       the local mobility anchor MUST return the same timestamp value in
       the Timestamp option included in the Proxy Binding
       Acknowledgement message that it sends to the mobile access
       gateway.

   8.  If the timestamp value in the received Proxy Binding Update is
       lower than the previously accepted timestamp in the Proxy Binding
       Update messages sent for that mobility binding, the local
       mobility anchor MUST reject the Proxy Binding Update message and
       send a Proxy Binding Acknowledgement message with the Status
       field set to TIMESTAMP_LOWER_THAN_PREV_ACCEPTED (Timestamp lower
       than previously accepted timestamp).  The message MUST also
       include the Timestamp option with the value set to the current
       time of day on the local mobility anchor.

   9.  If the timestamp value in the received Proxy Binding Update is
       not valid (validity as specified in the above considerations),
       the local mobility anchor MUST reject the Proxy Binding Update
       and send a Proxy Binding Acknowledgement message with the Status
       field set to TIMESTAMP_MISMATCH (Timestamp mismatch).  The
       message MUST also include the Timestamp option with the value set
       to the current time of day on the local mobility anchor.

   Using the Sequence-Number-Based Approach:

   1.  If the Timestamp option is not present in the received Proxy
       Binding Update message, the local mobility anchor MUST fall back
       to the Sequence-Number-based scheme.  It MUST process the
       sequence number field as specified in [RFC3775].  Also, it MUST
       NOT include the Timestamp option in the Proxy Binding
       Acknowledgement messages that it sends to the mobile access
       gateway.

   2.  An implementation MUST support the Sequence-Number-based scheme,
       as specified in [RFC3775].

   3.  The Sequence-Number-based approach can be used only when there is
       some mechanism (such as context transfer procedure between mobile
       access gateways) that allows the serving mobile access gateway to
       obtain the last sequence number that was sent in a Proxy Binding
       Update message for updating a given mobile node's binding.

5.6.  Routing Considerations

5.6.1.  Bi-Directional Tunnel Management

   The bi-directional tunnel MUST be used for routing the mobile node's
   data traffic between the mobile access gateway and the local mobility
   anchor.  A tunnel hides the topology and enables a mobile node to use
   address(es) from its home network prefix(es) from any access link in
   that Proxy Mobile IPv6 domain.  A tunnel may be created dynamically
   when needed and removed when not needed.  However, implementations
   MAY choose to use static pre-established tunnels instead of
   dynamically creating and tearing them down on a need basis.  The
   following considerations MUST be applied when using dynamic tunnels.

   o  A bi-directional tunnel MUST be established between the local
      mobility anchor and the mobile access gateway with IPv6-in-IPv6
      encapsulation, as described in [RFC2473].  The tunnel endpoints
      are the Proxy-CoA and LMAA.  However, when using IPv4 transport,
      the endpoints of the tunnel are IPv4-LMAA and IPv4-Proxy-CoA with
      the encapsulation mode as specified in [IPV4-PMIP6].

   o  Implementations MAY use a software timer for managing the tunnel
      lifetime and a counter for keeping a count of all the mobile nodes
      that are sharing the tunnel.  The timer value can be set to the
      accepted binding lifetime and can be updated after each periodic
      re-registration for extending the lifetime.  If the tunnel is
      shared for multiple mobile nodes, the tunnel lifetime must be set
      to the highest binding lifetime that is granted to any one of
      those mobile nodes sharing that tunnel.

   o  The tunnel SHOULD be deleted when either the tunnel lifetime
      expires or when there are no mobile nodes sharing the tunnel.

5.6.2.  Forwarding Considerations

   Intercepting Packets Sent to the Mobile Node's Home Network:

   o  When the local mobility anchor is serving a mobile node, it MUST
      be able to receive packets that are sent to the mobile node's home
      network.  In order for it to receive those packets, it MUST
      advertise a connected route in to the Routing Infrastructure for
      the mobile node's home network prefix(es) or for an aggregated
      prefix with a larger scope.  This essentially enables IPv6 routers
      in that network to detect the local mobility anchor as the last-
      hop router for the mobile node's home network prefix(es).

   Forwarding Packets to the Mobile Node:

   o  On receiving a packet from a correspondent node with the
      destination address matching a mobile node's home network
      prefix(es), the local mobility anchor MUST forward the packet
      through the bi-directional tunnel set up for that mobile node.

   o  The format of the tunneled packet is shown below.  Considerations
      from [RFC2473] MUST be applied for IPv6 encapsulation.  However,
      when using IPv4 transport, the format of the packet is as
      described in [IPV4-PMIP6].

        IPv6 header (src= LMAA, dst= Proxy-CoA  /* Tunnel Header */
           IPv6 header (src= CN, dst= MN-HOA )  /* Packet Header */
              Upper layer protocols             /* Packet Content*/

                  Figure 10: Tunneled Packet from LMA to MAG

   o  The format of the tunneled packet is shown below, when payload
      protection using IPsec is enabled for the mobile node's data
      traffic.  However, when using IPv4 transport, the format of the
      packet is as described in [IPV4-PMIP6].

        IPv6 header (src= LMAA, dst= Proxy-CoA     /* Tunnel Header */
           ESP Header in tunnel mode               /* ESP Header */
              IPv6 header (src= CN, dst= MN-HoA )  /* Packet Header */
                 Upper layer protocols             /* Packet Content*/

      Figure 11: Tunneled Packet from LMA to MAG with Payload Protection

   Forwarding Packets Sent by the Mobile Node:

   o  All the reverse tunneled packets that the local mobility anchor
      received from the mobile access gateway, after removing the tunnel
      header MUST be routed to the destination specified in the inner
      packet header.  These routed packets will have the Source Address
      field set to the mobile node's home address.  Considerations from
      [RFC2473] MUST be applied for IPv6 decapsulation.

5.6.3.  Explicit Congestion Notification (ECN) Considerations for Proxy
        Mobile IPv6 Tunnels

   This section describes how the ECN information needs to be handled by
   the mobility agents at the tunnel entry and exit points.  The ECN
   considerations for IP tunnels are specified in [RFC3168], and the
   same considerations apply to Proxy Mobile IPv6 tunnels (using IPv6-
   in-IPv6 encapsulation mode).  Specifically, the full-functionality
   option MUST be supported.  The relevant ECN considerations from
   [RFC3168] are summarized here for convenience.

   Encapsulation Considerations:

   o  If the Explicit Congestion Notification (ECN) field in the inner
      header is set to ECT(0) or ECT(1), where ECT stands for ECN-
      Capable Transport (ECT), the ECN field from the inner header MUST
      be copied to the outer header.  Additionally, when payload
      protection using IPsec is enabled for the mobile node's data
      traffic, the ECN considerations from [RFC4301] MUST be applied.

   Decapsulation Considerations:

   o  If the Explicit Congestion Notification (ECN) field in the inner
      header is set to ECT(0) or ECT(1), and if the ECN field in the
      outer header is set to Congestion Experienced (CE), then the ECN
      field in the inner header MUST be set to CE.  Otherwise, the ECN
      field in the inner header MUST NOT be modified.  Additionally,
      when payload protection using IPsec is enabled for the mobile
      node's data traffic, the ECN considerations from [RFC4301] MUST be
      applied.

5.7.  Local Mobility Anchor Address Discovery

   Dynamic Home Agent Address Discovery (DHAAD), as explained in Section
   10.5 of [RFC3775], allows a mobile node to discover all the home
   agents on its home link by sending an ICMP Home Agent Address
   Discovery Request message to the Mobile IPv6 Home-Agent's Home Agent's anycast
   address, derived from its home network prefix.

   The DHAAD message in the current form cannot be used in Proxy Mobile
   IPv6 for discovering the address of the mobile node's local mobility
   anchor.  In Proxy Mobile IPv6, the local mobility anchor will not be
   able to receive any messages sent to the Mobile IPv6 Home-Agent's Home Agent's
   anycast address corresponding to the mobile node's home network
   prefix(es), as the prefix(es) is not hosted on any of its interfaces.
   Further, the mobile access gateway will not predictably be able to
   locate the serving local mobility anchor that has the mobile node's
   binding cache entry.  Hence, this specification does not support
   Dynamic Home Agent Address Discovery protocol.

   In Proxy Mobile IPv6, the address of the local mobility anchor
   configured to serve a mobile node can be discovered by the mobility
   entities in other ways.  This may be a configured entry in the mobile
   node's policy profile, or it may be obtained through mechanisms
   outside the scope of this document.

5.8.  Mobile Prefix Discovery Considerations

   This specification does not support mobile prefix discovery.  The
   mobile prefix discovery mechanism as specified in [RFC3775] is not
   applicable to Proxy Mobile IPv6.

5.9.  Route Optimization Considerations

   The Route Optimization in Mobile IPv6, as defined in [RFC3775],
   enables a mobile node to communicate with a correspondent node
   directly using its Care-of Address care-of address and further the Return Routability
   procedure enables the correspondent node to have reasonable trust
   that the mobile node is reachable at both its home address and
   Care-of Address.
   care-of address.

   This specification does not support the Route Optimization specified
   in Mobile IPv6 [RFC3775].  However, this specification does support
   some other form of route optimization, as specified in Section
   6.10.3.

6.  Mobile Access Gateway Operation

   The Proxy Mobile IPv6 protocol described in this document introduces
   a new functional entity, the mobile access gateway (MAG).  The mobile
   access gateway is the entity that is responsible for detecting the
   mobile node's movements to and from the access link and sending the
   Proxy Binding Update messages to the local mobility anchor.  In
   essence, the mobile access gateway performs mobility management on
   behalf of a mobile node.

   The mobile access gateway is a function that typically runs on an
   access router.  However, implementations MAY choose to split this
   function and run it across multiple systems.  The specifics on how
   that is achieved or the signaling interactions between those
   functional entities are beyond the scope of this document.

   The mobile access gateway has the following key functional roles:

   o  It is responsible for detecting the mobile node's movements on the
      access link and for initiating the mobility signaling with the
      mobile node's local mobility anchor.

   o  Emulation of the mobile node's home link on the access link by
      sending Router Advertisement messages containing the mobile node's
      home network prefix(es), each prefix carried using the Prefix
      Information option [RFC4861].

   o  Responsible for setting up the forwarding for enabling the mobile
      node to configure one or more addresses from its home network
      prefix(es) and use it from the attached access link.

6.1.  Extensions to Binding Update List Entry Data Structure

   Every mobile access gateway MUST maintain a Binding Update List.
   Each entry in the Binding Update List represents a mobile node's
   mobility binding with its local mobility anchor.  The Binding Update
   List is a conceptual data structure, described in Section 11.1 of
   [RFC3775].

   For supporting this specification, the conceptual Binding Update List
   entry data structure needs be extended with the following additional
   fields.

   o  The identifier of the attached mobile node, MN-Identifier.  This
      identifier is acquired during the mobile node's attachment to the
      access link through mechanisms outside the scope of this document.

   o  The link-layer identifier of the mobile node's connected
      interface.  This can be acquired from the received Router
      Solicitation messages from the mobile node or during the mobile
      node's attachment to the access network.  This is typically a
      link-layer identifier conveyed by the mobile node; however, the
      specific details on how that is conveyed is out of scope for this
      specification.  If this identifier is not available, this variable
      length field MUST be set to two (octets) and MUST be initialized
      to a value of ALL_ZERO.

   o  A list of IPv6 home network prefixes assigned to the mobile node's
      connected interface.  The home network prefix(es) may have been
      statically configured in the mobile node's policy profile, or, may
      have been dynamically allocated by the local mobility anchor.
      Each of these prefix entries will also include the corresponding
      prefix length.

   o  The Link-local address of the mobile access gateway on the access
      link shared with the mobile node.

   o  The IPv6 address of the local mobility anchor serving the attached
      mobile node.  This address is acquired from the mobile node's
      policy profile or from other means.

   o  The interface identifier (if-id) of the point-to-point link
      between the mobile node and the mobile access gateway.  This is
      internal to the mobile access gateway and is used to associate the
      Proxy Mobile IPv6 tunnel to the access link where the mobile node
      is attached.

   o  The tunnel interface identifier (tunnel-if-id) of the bi-
      directional tunnel between the mobile node's local mobility anchor
      and the mobile access gateway.  This is internal to the mobile
      access gateway.  The tunnel interface identifier is acquired
      during the tunnel creation.

6.2.  Mobile Node's Policy Profile

   A mobile node's policy profile contains the essential operational
   parameters that are required by the network entities for managing the
   mobile node's mobility service.  These policy profiles are stored in
   a local or a remote policy store.  The mobile access gateway and the
   local mobility anchor MUST be able to obtain a mobile node's policy
   profile.  The policy profile MAY also be handed over to a serving
   mobile access gateway as part of a context transfer procedure during
   a handoff or the serving mobile access gateway MAY be able to
   dynamically generate this profile.  The exact details on how this
   achieved is outside the scope of this document.  However, this
   specification requires that a mobile access gateway serving a mobile
   node MUST have access to its policy profile.

   The following are the mandatory fields of the policy profile:

   o  The mobile node's identifier (MN-Identifier)

   o  The IPv6 address of the local mobility anchor (LMAA)

   The following are the optional fields of the policy profile:

   o  The mobile node's IPv6 home network prefix(es) assigned to the
      mobile node's connected interface.  These prefixes have to be
      maintained on a per-interface basis.  There can be multiple unique
      entries for each interface of the mobile node.  The specific
      details on how the network maintains this association between the
      prefix set and the interfaces, specially during the mobility
      session handoff between interfaces, is outside the scope of this
      document.

   o  The mobile node's IPv6 home network Prefix lifetime.  This
      lifetime will be the same for all the hosted prefixes on the link,
      as they all are part of one mobility session.  This value can also
      be the same for all the mobile node's mobility sessions.

   o  Supported address configuration procedures (Stateful, Stateless,
      or both) for the mobile node in the Proxy Mobile IPv6 domain

6.3.  Supported Access Link Types

   This specification supports only point-to-point access link types,
   and thus, it assumes that the mobile node and the mobile access
   gateway are the only two nodes on the access link.  The link is
   assumed to have multicast capability.

   This protocol may also be used on other link types, as long as the
   link is configured in such a way that it emulates point-to-point
   delivery between the mobile node and the mobile access gateway for
   all the protocol traffic.

   It is also necessary to be able to identify mobile nodes attaching to
   the link.  Requirements relating to this are covered in Section 6.6.

   Finally, while this specification can operate without link-layer
   indications of node attachment and detachment to the link, the
   existence of such indications either on the network or mobile node
   side improves the resulting performance.

6.4.  Supported Address Configuration Modes

   A mobile node in the Proxy Mobile IPv6 domain can configure one or
   more global IPv6 addresses on its interface (using Stateless,
   Stateful, or manual address autoconfiguration procedures) from the
   hosted prefix(es) on that link.  The Router Advertisement messages
   sent on the access link specify the address configuration methods
   permitted on that access link for that mobile node.  However, the
   advertised flags, with respect to the address configuration, will be
   consistent for a mobile node, on any of the access links in that
   Proxy Mobile IPv6 domain.  Typically, these configuration settings
   will be based on the domain-wide policy or based on a policy specific
   to each mobile node.

   When stateless address autoconfiguration is supported on the access
   link, the mobile node can generate one or more IPv6 addresses from
   the hosted prefix(es) by standard IPv6 mechanisms such as Stateless
   Autoconfiguration [RFC4862] or Privacy extensions [RFC4941].

   When stateful address autoconfiguration is supported on the link, the
   mobile node can obtain the address configuration from the DHCP server
   located in the Proxy Mobile IPv6 domain, by standard DHCP mechanisms,
   as specified in [RFC3315].  The obtained address(es) will be from its
   home network prefix(es).  Section 6.11 specifies the details on how
   this configuration can be achieved.

   Additionally, other address configuration mechanisms specific to the
   access link between the mobile node and the mobile access gateway may
   also be used for delivering the address configuration to the mobile
   node.  This specification does not modify the behavior of any of the
   standard IPv6 address configuration mechanisms.

6.5.  Access Authentication and Mobile Node Identification

   When a mobile node attaches to an access link connected to the mobile
   access gateway, the deployed access security protocols on that link
   SHOULD ensure that the network-based mobility management service is
   offered only after authenticating and authorizing the mobile node for
   that service.  The exact specifics on how this is achieved or the
   interactions between the mobile access gateway and the access
   security service are outside the scope of this document.  This
   specification goes with the stated assumption of having an
   established trust between the mobile node and the mobile access
   gateway before the protocol operation begins.

6.6.  Acquiring Mobile Node's Identifier

   All the network entities in a Proxy Mobile IPv6 domain MUST be able
   to identify a mobile node, using its MN-Identifier.  This identifier
   MUST be stable and unique across the Proxy Mobile IPv6 domain.  The
   mobility entities in the Proxy Mobile IPv6 domain MUST be able to use
   this identifier in the signaling messages and unambiguously identify
   a given mobile node.  The following are some of the considerations
   related to this MN-Identifier.

   o  The MN-Identifier is typically obtained as part of the access
      authentication or from a notified network attachment event.  In
      cases where the user identifier authenticated during access
      authentication uniquely identifies a mobile node, the MN-
      Identifier MAY be the same as the user identifier.  However, the
      user identifier MUST NOT be used if it identifies a user account
      that can be used from more than one mobile node operating in the
      same Proxy Mobile IPv6 domain.

   o  In some cases, the obtained identifier, as part of the access
      authentication, can be a temporary identifier and further that
      temporary identifier may be different at each re-authentication.
      However, the mobile access gateway MUST be able to use this
      temporary identifier and obtain the mobile node's stable
      identifier from the policy store.  For instance, in AAA-based
      systems, the Remote Authentication Dial-In User Service (RADIUS)
      attribute, Chargeable-User-Identifier [RFC4372] may be used, as
      long as it uniquely identifies a mobile node, and not a user
      account that can be used with multiple mobile nodes.

   o  In some cases and for privacy reasons, the MN-Identifier that the
      policy store delivers to the mobile access gateway may not be the
      true identifier of the mobile node.  However, the mobility access
      gateway MUST be able to use this identifier in the signaling
      messages exchanged with the local mobility anchor.

   o  The mobile access gateway MUST be able to identify the mobile node
      by its MN-Identifier, and it MUST be able to associate this
      identity to the point-to-point link shared with the mobile node.

6.7.  Home Network Emulation

   One of the key functions of a mobile access gateway is to emulate the
   mobile node's home network on the access link.  It must ensure the
   mobile node does not detect any change with respect to its layer-3
   attachment even after it changes its point of attachment in that
   Proxy Mobile IPv6 domain.

   For emulating the mobile node's home link on the access link, the
   mobile access gateway must be able to send Router Advertisement
   messages advertising the mobile node's home network prefix(es)
   carried using the Prefix Information option(s) [RFC4861] and with
   other address configuration parameters consistent with its home link
   properties.  Typically, these configuration settings will be based on
   the domain-wide policy or based on a policy specific to each mobile
   node.

   Typically, the mobile access gateway learns the mobile node's home
   network prefix(es) details from the received Proxy Binding
   Acknowledgement message, or it may obtain them from the mobile node's
   policy profile.  However, the mobile access gateway SHOULD send the
   Router Advertisements advertising the mobile node's home network
   prefix(es) only after successfully completing the binding
   registration with the mobile node's local mobility anchor.

   When advertising the home network prefix(es) in the Router
   Advertisement messages, the mobile access gateway MAY set the prefix
   lifetime value for the advertised prefix(es) to any chosen value at
   its own discretion.  An implementation MAY choose to tie the prefix
   lifetime to the mobile node's binding lifetime.  The prefix lifetime
   can also be an optional configuration parameter in the mobile node's
   policy profile.

6.8.  Link-Local  Link-local and Global Address Uniqueness

   A mobile node in the Proxy Mobile IPv6 domain, as it moves from one
   mobile access gateway to the other, will continue to detect its home
   network and does not detect a change of layer-3 attachment.  Every
   time the mobile node attaches to a new link, the event related to the
   interface state change will trigger the mobile node to perform
   Duplicate Address Detection (DAD) operation on the link-local and
   global address(es).  However, if the mobile node is Detecting Network
   Attachment in IPv6 (DNAv6) enabled, as specified in [DNAV6], it may
   not detect the link change due to DNAv6 optimizations and may not
   trigger the duplicate address detection (DAD) procedure for its
   existing addresses, which may potentially lead to address collisions
   after the mobile node's handoff to a new link.

   The issue of address collision is not relevant to the mobile node's
   global address(es).  Since the assigned home network prefix(es) are
   for the mobile node's exclusive usage, no other node shares an
   address (other than Subnet-Router anycast address that is configured
   by the mobile access gateway) from the prefix(es), and so the
   uniqueness for the mobile node's global address is assured on the
   access link.

   The issue of address collision is however relevant to the mobile
   node's link-local addresses since the mobile access gateway and the
   mobile node will have link-local addresses configured from the same
   link-local prefix (FE80::/64).  This leaves a room for link-local
   address collision between the two neighbors (i.e., the mobile node
   and the mobile access gateway) on that access link.  For solving this
   problem, this specification requires that the link-local address that
   the mobile access gateway configures on the point-to-point link
   shared with a given mobile node be generated by the local mobility
   anchor and be stored in the mobile node's Binding Cache entry.  This
   address will not change for the duration of that mobile node's
   mobility session and can be provided to the serving mobile access
   gateway at every mobile node's handoff, as part of the Proxy Mobile
   IPv6 signaling messages.  The specific method by which the local
   mobility anchor generates the link-local address is out of scope for
   this specification.

   It is highly desirable that the access link on the mobile access
   gateway shared with the mobile node be provisioned in such a way that
   before the mobile node completes the DAD operation [RFC4862] on its
   link-local address, the mobile access gateway on that link is aware
   of its own link-local address provided by the local mobility anchor
   that it needs to use on that access link.  This essentially requires
   a successful completion of the Proxy Mobile IPv6 signaling by the
   mobile access gateway before the mobile node completes the DAD
   operation.  This can be achieved by ensuring that link-layer
   attachment does not complete until the Proxy Mobile IPv6 signaling is
   completed.  Alternatively, network and local mobility anchor capacity
   and signaling retransmission timers can be provisioned in such a way
   that signaling is extremely likely to complete during the default
   waiting period associated with the DAD process.

   Optionally, implementations MAY choose to configure a fixed link-
   local address across all the access links in a Proxy Mobile IPv6
   domain and without a need for carrying this address from the local
   mobility anchor to the mobile access gateway in the Proxy Mobile IPv6
   signaling messages.  The configuration variable
   FixedMAGLinkLocalAddressOnAllAccessLinks determines the enabled mode
   in that Proxy Mobile IPv6 domain.

6.9.  Signaling Considerations

6.9.1.  Binding Registrations

6.9.1.1.  Mobile Node Attachment and Initial Binding Registration

   1.   After detecting a new mobile node on its access link, the mobile
        access gateway MUST identify the mobile node and acquire its MN-
        Identifier.  If it determines that the network-based mobility
        management service needs to be offered to the mobile node, it
        MUST send a Proxy Binding Update message to the local mobility
        anchor.

   2.   The Proxy Binding Update message MUST include the Mobile Node
        Identifier option [RFC4283], carrying the MN-Identifier for
        identifying the mobile node.

   3.   The Home Network Prefix option(s) MUST be present in the Proxy
        Binding Update message.  If the mobile access gateway learns the
        mobile node's home network prefix(es) either from its policy
        store or from other means, the mobile access gateway MAY choose
        to request the local mobility anchor to allocate the requested
        prefix(es) by including a Home Network Prefix option for each of
        those requested prefixes.  The mobile access gateway MAY also
        choose to include just one Home Network Prefix option with the
        prefix value of ALL_ZERO, for requesting the local mobility
        anchor to do the prefix assignment.  However, when including a
        Home Network Prefix option with the prefix value of ALL_ZERO,
        there MUST be only one instance of the Home Network prefix
        option in the request.

   4.   The Handoff Indicator option MUST be present in the Proxy
        Binding Update message.  The Handoff Indicator field in the
        Handoff Indicator option MUST be set to a value indicating the
        handoff hint.

        *  The Handoff Indicator field MUST be set to a value of 1
           (Attachment over a new interface) if the mobile access
           gateway determines (under the Handoff Indicator
           considerations specified in this section) that the mobile
           node's current attachment to the network over this interface
           is not as a result of a handoff of an existing mobility
           session (over the same interface or through a different
           interface), but as a result of an attachment over a new
           interface.  This essentially serves as a request to the local
           mobility anchor to create a new mobility session and not
           update any existing Binding Cache entry created for the same
           mobile node connected to the Proxy Mobile IPv6 domain through
           a different interface.

        *  The Handoff Indicator field MUST be set to a value of 2
           (Handoff between two different interfaces of the mobile node)
           if the mobile access gateway definitively knows the mobile
           node's current attachment is due to a handoff of an existing
           mobility session between two different interfaces of the
           mobile node.

        *  The Handoff Indicator field MUST be set to a value of 3
           (Handoff between mobile access gateways for the same
           interface) if the mobile access gateway definitively knows
           the mobile node's current attachment is due to a handoff of
           an existing mobility session between two mobile access
           gateways and for the same interface of the mobile node.

        *  The Handoff Indicator field MUST be set to a value of 4
           (Handoff state unknown) if the mobile access gateway cannot
           determine if the mobile node's current attachment is due to a
           handoff of an existing mobility session.

   5.   The mobile access gateway MUST apply the below considerations
        when choosing the value for the Handoff Indicator field.

        *  The mobile access gateway can choose to use the value 2
           (Handoff between two different interfaces of the mobile
           node), only when it knows that the mobile node has, on
           purpose, switched from one interface to another, and the
           previous interface is going to be disabled.  It may know this
           due to a number of factors.  For instance, most cellular
           networks have controlled handovers where the network knows
           that the host is moving from one attachment to another.  In
           this situation, the link-layer mechanism can inform the
           mobility functions that this is indeed a movement, not a new
           attachment.

        *  Some link layers have link-layer identifiers that can be used
           to distinguish (a) the movement of a particular interface to
           a new attachment from (b) the attachment of a new interface
           from the same host.  Option value 3 (Handoff between mobile
           access gateways for the same interface) is appropriate in
           case (a) and a value of 1 (Attachment over a new interface)
           in case (b).

        *  The mobile access gateway MUST NOT set the option value to 2
           (Handoff between two different interfaces of the mobile node)
           or 3 (Handoff between mobile access gateways for the same
           interface) if it cannot be determined that the mobile node
           can move the address between the interfaces involved in the
           handover or that it is the same interface that has moved.
           Otherwise, Proxy Mobile IPv6-unaware hosts that have multiple
           physical interfaces to the same domain may suffer unexpected
           failures.

        *  Where no support from the link layer exists, the host and the
           network would need to inform each other about the intended
           movement.  The Proxy Mobile IPv6 protocol does not specify
           this and simply requires that knowledge about movements can
           be derived either from the link-layer or from somewhere else.
           The method by which this is accomplished is outside the scope
           of this specification.

   6.   Either the Timestamp option or a valid sequence number
        maintained on a per mobile node basis (if the Sequence-Number-
        based scheme is in use) MUST be present.  This can be determined
        based on the value of the configuration flag
        TimestampBasedApproachInUse.  When Timestamp option is added to
        the message, the mobile access gateway SHOULD also set the
        Sequence Number field to a value of a monotonically increasing
        counter (not to be confused with the per mobile node sequence
        number specified in [RFC3775]).  The local mobility anchor will
        ignore this field when there is a Timestamp option present in
        the request, but will return the same value in the Proxy Binding
        Acknowledgement message.  This will be useful for matching the
        reply to the request message.

   7.   The Mobile Node Link-layer Identifier option carrying the link-
        layer identifier of the currently attached interface MUST be
        present in the Proxy Binding Update message, if the mobile
        access gateway is aware of the same.  If the link-layer
        identifier of the currently attached interface is not known or
        if the identifier value is ALL_ZERO, this option MUST NOT be
        present.

   8.   The Access Technology Type option MUST be present in the Proxy
        Binding Update message.  The access technology type field in the
        option SHOULD be set to the type of access technology by which
        the mobile node is currently attached to the mobile access
        gateway.

   9.   The Link-local Address option MUST be present in the Proxy
        Binding Update message only if the value of the configuration
        variable FixedMAGLinkLocalAddressOnAllAccessLinks is set to a
        value of ALL_ZERO; otherwise, the Link-local Address option MUST
        NOT be present in the request.  Considerations from Section 6.8
        MUST be applied when using the Link-local Address option.

        *  For querying the local mobility anchor to provide the link-
           local address that it should use on the point-to-point link
           shared with the mobile node, this option MUST be set to
           ALL_ZERO value.  This essentially serves as a request to the
           local mobility anchor to provide the link-local address that
           it can use on the access link shared with the mobile node.

   10.  The Proxy Binding Update message MUST be constructed as
        specified in Section 6.9.1.5.

   11.  If there is no existing Binding Update List entry for that
        mobile node, the mobile access gateway MUST create a Binding
        Update List entry for the mobile node upon sending the Proxy
        Binding Update message.

6.9.1.2.  Receiving Proxy Binding Acknowledgement

   On receiving a Proxy Binding Acknowledgement message (format
   specified in Section 8.2) from the local mobility anchor, the mobile
   access gateway MUST process the message as specified below.

   1.   The received Proxy Binding Acknowledgement message (a Binding
        Acknowledgement message with the 'P' flag set to value of 1)
        MUST be authenticated as described in Section 4.  When IPsec is
        used for message authentication, the SPI in the IPsec header
        [RFC4306] of the received packet is needed for locating the
        security association, for authenticating the Proxy Binding
        Acknowledgement message.

   2.   The mobile access gateway MUST observe the rules described in
        Section 9.2 of [RFC3775] when processing Mobility Headers in the
        received Proxy Binding Acknowledgement message.

   3.   The mobile access gateway MUST apply the considerations
        specified in Section 5.5 for processing the Sequence Number
        field and the Timestamp option (if present) in the message.

   4.   The mobile access gateway MUST ignore any checks, specified in
        [RFC3775], related to the presence of a Type 2 Routing header in
        the Proxy Binding Acknowledgement message.

   5.   The mobile access gateway MAY use the mobile node identifier
        present in the Mobile Node Identifier option for matching the
        response to the request messages that it sent recently.
        However, if there is more than one request message in its
        request queue for the same mobile node, the sequence number
        field can be used for identifying the exact message from those
        messages.  There are other ways to achieve this and
        implementations are free to adopt the best approach that suits
        their implementation.  Additionally, if the received Proxy
        Binding Acknowledgement message does not match any of the Proxy
        Binding Update messages that it sent recently, the message MUST
        be ignored.

   6.   If the received Proxy Binding Acknowledgement message h