SPRING and DMM                                             S. Matsushima
Internet-Draft                                                  SoftBank
Intended status: Standards Track                             C. Filsfils
Expires: May 16, 2018                                           M. Kohno
                                                     Cisco Systems, Inc.
                                                                D. Voyer
                                                             Bell Canada
                                                       November 12, 2017


               Segment Routing IPv6 for Mobile User-Plane
           draft-matsushima-spring-dmm-srv6-mobile-uplane-03

Abstract

   This document discusses the applicability of SRv6 (Segment Routing
   IPv6) to user-plane of mobile networks that SRv6 source routing
   capability with its programmability can fulfill the user-plane
   functions, such as access and anchor functions.  It takes advantage
   of underlying layer awareness and flexibility to deploy user-plane
   functions that enables optimizing data-path for applications.
   Network slicing and an interworking way between SRv6 and existing
   mobile user-plane are also discussed in this document.

Status of This Memo

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

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

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

   This Internet-Draft will expire on May 16, 2018.

Copyright Notice

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

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents



Matsushima, et al.        Expires May 16, 2018                  [Page 1]


Internet-Draft             SRv6-mobile-uplane              November 2017


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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions and Terminology . . . . . . . . . . . . . . . . .   3
   3.  Motivations . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Mobile User-Plane . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Supporting Mobile User-Plane Functions  . . . . . . . . . . .   5
     5.1.  Access Point  . . . . . . . . . . . . . . . . . . . . . .   6
     5.2.  Layer-2 Anchor  . . . . . . . . . . . . . . . . . . . . .   6
     5.3.  Layer-3 Anchor  . . . . . . . . . . . . . . . . . . . . .   6
     5.4.  Stateless Interworking  . . . . . . . . . . . . . . . . .   7
       5.4.1.  End.TM: End point function with encapsulation for
               mapped tunnel . . . . . . . . . . . . . . . . . . . .   7
       5.4.2.  T.Tmap: Transit behavior with tunnel decapsulation
               and mapping an SRv6 Policy  . . . . . . . . . . . . .   8
     5.5.  Rate Limit  . . . . . . . . . . . . . . . . . . . . . . .   9
   6.  Segment Routing IPv6 Functions and Behaviors by Use Cases . .   9
     6.1.  Basic Mode  . . . . . . . . . . . . . . . . . . . . . . .   9
       6.1.1.  Uplink  . . . . . . . . . . . . . . . . . . . . . . .  10
       6.1.2.  Downlink  . . . . . . . . . . . . . . . . . . . . . .  10
     6.2.  Aggregate Mode  . . . . . . . . . . . . . . . . . . . . .  11
       6.2.1.  Uplink  . . . . . . . . . . . . . . . . . . . . . . .  11
       6.2.2.  Downlink  . . . . . . . . . . . . . . . . . . . . . .  13
     6.3.  Stateless Interworking with Legacy Access Network . . . .  14
       6.3.1.  Uplink: Lagacy Access to SRv6 . . . . . . . . . . . .  14
       6.3.2.  Downlink: SRv6 to Legacy Access . . . . . . . . . . .  15
   7.  Network Slicing Considerations  . . . . . . . . . . . . . . .  16
   8.  Control Plane Considerations  . . . . . . . . . . . . . . . .  16
     8.1.  Existing Control Plane  . . . . . . . . . . . . . . . . .  16
     8.2.  Aggregate Mode  . . . . . . . . . . . . . . . . . . . . .  17
     8.3.  User-Plane Sepalated Control Plane  . . . . . . . . . . .  17
     8.4.  Centralized Controller  . . . . . . . . . . . . . . . . .  17
     8.5.  Stateless Interworking  . . . . . . . . . . . . . . . . .  18
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  18
   11. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  18
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  18
     12.2.  Informative References . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19



Matsushima, et al.        Expires May 16, 2018                  [Page 2]


Internet-Draft             SRv6-mobile-uplane              November 2017


1.  Introduction

   In mobile networks, mobility management systems provide connectivity
   while mobile nodes move around.  While the control-plane of the
   system signals movements of a mobile node, user-plane establishes
   tunnel between the mobile node and anchor node over IP based backhaul
   and core networks.

   This document discusses the applicability of SRv6 (Segment Routing
   IPv6) to those mobile networks.  SRv6 provides source routing to
   networks where operators can explicitly indicate route for the
   packets from and to the mobile node.  SRv6 endpoint nodes act as
   roles of anchor of mobile user-plane.

2.  Conventions and Terminology

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

   All segment routing and SRv6 network programming terms are defined in
   [I-D.ietf-spring-segment-routing] and
   "[I-D.filsfils-spring-srv6-network-programming].

3.  Motivations

   Today's and future applications are requiring highly optimized data-
   path between mobile nodes and the entities of those applications in
   perspectives of latency, bandwidth, etc,. However current
   architecture of mobile management is agnostic about underlying
   topologies of transport layer.  It rigidly fragments the user-plane
   in radio access, core and service networks and connects them by
   tunneling techniques through the user-plane functions such as access
   and anchor nodes.  Those agnostic and rigidness make it difficult for
   the operator to optimize the data-path.

   While the mobile network industry has been trying to solve that,
   applications shift to use IPv6 data-path and network operators adopt
   it as their IP transport as well.  SRv6 integrates both application
   data-path and underlying transport layer in data-path optimization
   aspects that does not require any other techniques.

   SRv6 source routing capability with programmable functions
   [I-D.filsfils-spring-srv6-network-programming] could fulfills the
   user-plane functions of mobility management.  It takes advantage of
   underlying layer awareness and flexibility to deploy user-plane
   functions.  Those are the motivations to adopt SRv6 for mobile user-
   plane.



Matsushima, et al.        Expires May 16, 2018                  [Page 3]


Internet-Draft             SRv6-mobile-uplane              November 2017


4.  Mobile User-Plane

   This section describes user-plane using SRv6 for mobile networks.
   This clarifies mobile user-plane functions to which SRv6 endpoint
   applied.

   Figure 1 shows mobile user-plane functions which are connected
   through IPv6-only networks.  In the Figure 1, an mobile node (MN)
   connects to an SRv6 endpoint serving access point role for the MN.
   When the endpoint receives packets from the MN, it pushes SRH to the
   packets.  The segment list in the SRH indicates the rest of user-
   plane segments which are L2 and L3 anchors respectively.  Then the
   endpoint send the packets to the IPv6 network.  In opposite
   direction, when an SRv6 endpoint serving L3 anchor role for the MN
   receives packets to it, the endpoint push SRH consist of the L2
   anchor and access point segments to the packets.


                                User-plane
                                Function
                               <L2 Anchor>
                                O------O
                                | SRv6 |
                                | End  |
                                | Point|
                                O------O
              User-plane           ||           User-plane
    [MN]      Function        _____||_____      Function
      |     <Access Point>   /            \    <L3 Anchor>
   ___v___     O------O     /              \     O------O     ________
  /  Radio \   | SRv6 |    /                \    | SRv6 |    /        \
 /  Access  \==| End  |===/     IPv6-Only    \===| End  |===/ Service  \
 \    NW    /  | Point|   \      Network     /   | Point|   \    NW    /
  \________/   O------O    \                /    O------O    \________/
                            \              /
                             \____________/


                   Figure 1: Mobile User-plane with SRv6

   An SRv6 segment represents those each function, such as Access Point,
   Layer-2 (L2) Anchor and Layer-3 (L3) Anchor.  This makes mobile
   networks highly flexible to deploy any user-plane functions to which
   nodes in user flow basis.  An SRv6 segment can represent a set of
   flows in any granularity of aggregation even though it is just for a
   single flow.





Matsushima, et al.        Expires May 16, 2018                  [Page 4]


Internet-Draft             SRv6-mobile-uplane              November 2017


   Figure 2 shows that an SRv6 endpoint connects existing IPv4 mobile
   user-plane, which is defined in [RFC5213] and [TS.29281].  An SRv6
   segment in the endpoint represents interworking function which
   enables interworking between existing access point and SRv6 anchor
   segment, or SRv6 access point segment and existing anchor node.

   Existing mobile user-plane with IPv6 underlay is expected to be
   widely deployed.  As IPv6 network should be interoperable with SRv6
   endpoints can be accommodated on it, interworking with existing IPv6
   network is out of scope of this document.


     ________                                                 _______
    /        \    O------O                                   /       \
   / Service  \===|L2/L3 |                                  / Service \
   \    NW    /   |Anchor|         User-plane               \    NW   /
    \________/    |Node  |         Function                  \_______/
                  O------O       <Interworking>                  ||
                      \\_______     O------O     ________     O------O
                      /        \    | SRv6 |    /        \    | SRv6 |
                     / Existing \===| End  |===/ IPv6-Only\===| End  |
                     \  IPv4 NW /   | Point|   \  Network /   | Point|
       [MN]           \________/    O------O    \________/    O------O
        |             //                                         ||
     ___v____    O------O                                     ___||__
    / Radio  \   |Access|                                    / Radio  \
   /  Access  \==|Point |                            [MN]~~~/  Access  \
   \    NW    /  |Node  |                                   \    NW    /
    \________/   O------O                                    \________/





           Figure 2: Interworking with Existing Mobile Networks

   The detail of SRv6 segments representing user-plane functions are
   described in Section 5.

5.  Supporting Mobile User-Plane Functions

   This section describes mobile user-plane functions to which an SRv6
   node can apply SRv6 functions and behaviors.  The SRv6 node
   configured with those segments thereby fulfills the user-plane
   functions.  Each function consist of two segments which are uplink
   (UL) from mobile node to the correspondent node, and downlink (DL)
   from the correspondent node to mobile node.




Matsushima, et al.        Expires May 16, 2018                  [Page 5]


Internet-Draft             SRv6-mobile-uplane              November 2017


   An SRv6 node may be configured with multiple type of user-plane
   functions.  Each function may also be configured with multiple sets
   of the segments for one type of function that to purpose of
   separating tenants, resources and service policies, etc.

5.1.  Access Point

   Access Point function provides SRv6 node the role to which mobile
   node is connected directly.  eNodeB could be referenced as an entity
   implementing the access point in 3GPP term.

   When an SRv6 node is configured for an Access Point function, the
   SRv6 node allocates one DL access-point segment SID per session, or
   per Access Point function which represents one policy that is shared
   by multiple sessions.

   Applicable SRv6 functions and behaviors are determined by use cases
   described in Section 6.

5.2.  Layer-2 Anchor

   Layer-2 anchor function provides SRv6 node the role to be anchor
   point while mobile node move around within a serving area which could
   be assumed as a layer-2 network.  Serving Gateway (SGW) could be
   referenced as an entity implementing the layer-2 anchor in 3GPP term.

   When an SRv6 node is configured for a Layer-2 anchor function, the
   SRv6 node allocates UL L2-anchor segment SID per SRv6 policy, which
   is bound to next L3-anchor function and specific service if needed.
   The SRv6 node also allocates one DL L2-anchor segment SID per SRv6
   policy, which is bound to serving access point SID and specific
   service if needed.

   Applicable SRv6 functions and behaviors are determined by use cases
   described in Section 6.

5.3.  Layer-3 Anchor

   Layer-3 anchor function provides SRv6 node the role to be anchor
   point across a mobile network consists of multiple serving areas.
   Packet data network gateway (PGW) could be referenced as an entity
   implementing the layer-3 anchor.

   When an SRv6 node is configured for a Layer-3 Anchor function, the
   SRv6 node allocates one UL L3-anchor segment SID per L3-anchor
   function.  Each L3-anchor SID represents one policy which is shared
   by multiple sessions, such as a routing table, or a service policy




Matsushima, et al.        Expires May 16, 2018                  [Page 6]


Internet-Draft             SRv6-mobile-uplane              November 2017


   with in the table.  The routing table should maintain forwarding
   entries of the belonging MNs.

   Applicable SRv6 functions and behaviors are determined by use cases
   described in Section 6.

5.4.  Stateless Interworking

   Stateless interworking function provides SRv6 node a role to
   interworking between existing mobile user-plane and SRv6 mobile user-
   plane.  Figure 3 shows the SRv6 SID format for stateless interworking
   function that is encoding identifiers of corresponding tunnel in
   existing network as argument of the SID.


             +----------------------+-------+-------+-------+
             |    IW-IPv6-Prefix    |IPv4DA |IPv4SA |TUN-ID |
             +----------------------+-------+-------+-------+
                     128-a-b-c          a      b       c


               Figure 3: Stateless Interworking SID Encoding

   Stateless interworking function introduce following SRv6 end function
   and transit behavior.

   End.TM:                 End point function with encapsulation for
                           mapped tunnel
   T.Tmap:                 Transit behavior with tunnel decapsulation
                           and mapping an SRv6 Policy

   Stateless interworking function is associated with the following
   mandatory parameters:

   IW-IPv4-Prefix:         IPv4 prefix representing network of SRv6
                           user-plane for legacy mobile user-plane
   IW-IPv6-Prefix:         IPv6 prefix representing network of legacy
                           mobile user-plane for SRv6 user-plane
   TUN-PROTO:              Tunnel protocol type, such as GTP-U or GRE
                           for PMIP

5.4.1.  End.TM: End point function with encapsulation for mapped tunnel

   The "End point to encapsulate for mapped tunnel" function (End.TM for
   short) is used to the direction from SRv6 user-plane to legacy user-
   plane network.





Matsushima, et al.        Expires May 16, 2018                  [Page 7]


Internet-Draft             SRv6-mobile-uplane              November 2017


   When interworking node N receives a packet destined to S and S is a
   local End.TM SID, N does:

 1. IF NH=SRH & SL > 0 THEN
 2.    decrement SL
 3.    update the IPv6 DA with SRH[SL]
 4.    push header of TUN-PROTO with tunnel ID from S            ;; Ref1
 5.    push outer IPv4 header with SA, DA from S
 6. ELSE
 7.    Drop the packet

   Ref1: TUN-PROTO indicates target tunnel type.

5.4.2.  T.Tmap: Transit behavior with tunnel decapsulation and mapping
        an SRv6 Policy

   The "Transit with tunnel decapsulation and map to an SRv6 policy"
   function (T.Tmap for short) is used to the direction from legacy
   user-plane to SRv6 user-plane network.

   When interworking node N receives a packet destined to a IW-
   IPv4-Prefix, N does:

 1.   IF P.PLOAD == TUN-PROTO & T.PLOAD == IPv6 THEN    ;; Ref1, Ref1bis
 2.      pop the outer IPv4 header and tunnel headers
 3.      copy IPv4 DA, SA, TUN-ID to form SID B with IW-IPv6-Prefix
 4.      insert the SRH (D, B; SL=1)                    ;; Ref2, Ref2bis
 5.      set the IPv6 DA = B
 6.      forward along the shortest path to B
 7.   ELSE
 8.      Drop the packet

   Ref1: P.PLOAD and T.PLOAD represent payload protocol of the receiving
   packet, and payload protocol of the tunnel respectively.

   Ref1bis: First nibble of payload is used to determine payload
   protocol in GTP-U case due to it has no payload protocol indicator in
   the header.

   Ref2: The received IPv6 DA is placed as last SID of the inserted SRH.

   Ref2bis: The SRH is inserted before any other IPv6 Routing Extension
   Header.








Matsushima, et al.        Expires May 16, 2018                  [Page 8]


Internet-Draft             SRv6-mobile-uplane              November 2017


5.5.  Rate Limit

   Mobile user-plane requires rate-limit feature.  SID is able to encode
   limiting rate as an argument in SID.  Multiple flows of packets
   should have same group identifier in SID when those flows are in an
   same AMBR group.  This helps to keep user-plane stateless.  That
   enables SRv6 endpoint nodes which are unaware from the mobile
   control-plane information.  Encoding format of rate limit segment SID
   is following:


              +----------------------+----------+-----------+
              | Locater of rate-limit| group-id | limit-rate|
              +----------------------+----------+-----------+
                        128-i-j            i          j


               Figure 4: Stateless Interworking SID Encoding

   In case of j bit length is zero in SID, the node should not do rate
   limiting unless static configuration or control-plane sets the limit
   rate associated to the SID.

6.  Segment Routing IPv6 Functions and Behaviors by Use Cases

   This section describes SRv6 functions and behavior applied to mobile
   user-plane functions by use cases.  Terminology of SRv6 endpoint
   functions refers to [I-D.filsfils-spring-srv6-network-programming].

6.1.  Basic Mode

   In the basic mode, we assume that mobile user-plane functions are as
   same as existing ones except using SRv6.  This means that there is no
   impact to rest part of mobile system should be expected while no
   advanced segment routing features are introduced to it.

               +---------------------+----------+----------+
               | User-plane Function |  Uplink  | Downlink |
               +---------------------+----------+----------+
               | Access Point        | T.Insert |  End.X   |
               | L2-anchor           |  End.B6  |  End.B6  |
               | L3-anchor           |  End.T   | T.Insert |
               +---------------------+----------+----------+

                  Table 1: SRv6 Functions for Basic Mode






Matsushima, et al.        Expires May 16, 2018                  [Page 9]


Internet-Draft             SRv6-mobile-uplane              November 2017


6.1.1.  Uplink

   In uplink, SRv6 node applies following SRv6 end point functions and
   transit behavior.  SIDs are allocated per L3-anchor function in the
   SRv6 nodes of both L2 and L3-anchor functions in basic mode.

   Access Point:

         When the access point node receives a packet destine to "D::1"
         from a mobile node "S::1", it does T.Insert process for the
         receiving packets to push a SRH with SID list <A2::1, D::1>
         with SL=1.  The access point node update DA to next UL
         L2-anchor SID "A2::1" which the SL indicates and forward the
         packet.

   Layer-2 Anchor:

         The L2-anchor node of "A2::1" segment does End.B6 process for
         the receiving packet according to the SRH.  The node updates DA
         to next UL L3-anchor SID "A3::1" bound to "A2::1" and forward
         the packet.  In this basic use case, just one UL L3-anchor SID
         with SL=0 is enough to do it so that there is no need to push
         another SRH to the packet in that PSP (Penultimate Segment Pop)
         operation.

   Layer-3 Anchor:

         The L3-anchor node of "A3::1" segment does End.T process for
         the receiving packet according to the SRH.  The node decrement
         SL to 0, updates DA to D::1 which the SL indicates and lookup
         IPv6 table associated with "A3::1".  In this basic use case,
         the decremented SL is 0 so that the node does PSP operation of
         popped out the SRH from the packet and forward it.

6.1.2.  Downlink

   In downlink, SRv6 node applies following SRv6 end point functions and
   transit behavior.  SIDs are allocated per session in the SRv6 nodes
   of both L2-anchor and access point functions in basic mode.

   Layer-3 Anchor:

         When the L3-anchor node receives a packet destine to "S::1"
         from a correspondent node "D::1", it does T.Insert process for
         the receiving packets to push a SRH with SID list <A2::2, S::1>
         with SL=1.  The L3-anchor node update DA to next DL L2-anchor
         SID "A2::2" which the SL indicates and forward the packet.




Matsushima, et al.        Expires May 16, 2018                 [Page 10]


Internet-Draft             SRv6-mobile-uplane              November 2017


   Layer-2 Anchor:

         The L2-anchor node of "A2::2" segment does End.B6 process for
         the receiving packet according to the SRH.  The node updates DA
         to next DL access point segment "A1::1" bound to "A2::2" and
         forward the packet.  In this basic use case, just one DL access
         point SID with SL=0 is enough to do it so that there is no need
         to push another SRH to the packet in that PSP (Penultimate
         Segment Pop) operation.

   Access Point:

         The access point node of "A1::1" segment does End.X process for
         the receiving packet according to the segment.  The node
         decrement SL to 0, updates DA to S::1 which the SL indicates
         and forward the packet to the mobile node of "S::1" through
         radio channel associated with "A1::1".  In this use case, the
         decremented SL is 0 so that the node does PSP operation of
         popped out the SRH from the packet and forward it.

6.2.  Aggregate Mode

   In the aggregate mode, user-plane function is able to steer multiple
   mobile sessions per service policy.  This means that mobile sessions
   paths are aggregated into a service path which includes not only
   mobile user-plane functions but also other nodes, links or service
   functions.  SIDs are allocated per service policy in the SRv6 nodes
   of user-plane functions in the aggregate mode.

   Aggregate mode user-plane can take advantage of SRv6 that enables
   seamless mobile user-plane deployment with service chaining, VPNs,
   traffic-engineering by computed path to fulfil the policy.

          +---------------------+---------------+---------------+
          | User-plane Function |     Uplink    |    Downlink   |
          +---------------------+---------------+---------------+
          | Access Point        |    T.Insert   |      End      |
          | L2-anchor           | End or End.B6 | End or End.B6 |
          | L3-anchor           |     End.T     |    T.Insert   |
          +---------------------+---------------+---------------+

                Table 2: SRv6 Functions for Aggregate Mode

6.2.1.  Uplink

   In uplink, SRv6 node applies following SRv6 end point functions and
   transit behavior.




Matsushima, et al.        Expires May 16, 2018                 [Page 11]


Internet-Draft             SRv6-mobile-uplane              November 2017


   Access Point:

         When the access point node receives a packet destine to "D::1"
         from a mobile node "S::1", it does T.Insert process for the
         receiving packets.

         First scenario is that the service policy for "D::1" is via
         service function S1 and node C1 before reach to L2-anchor
         "A2::1" so that the node pushes a SRH with SID list <S1, C1,
         A2::1, D::1> with SL=3.  The node updates DA to service
         function S1 which the SL indicates and forward the packet.

         Second case is that the access point function directly
         indicates the path beyond the L2-anchor, service function S2
         and L3-anchor "A3::1" for example, the SID list shoud be <S1,
         C1, A2::, S2, A3::1, D::1> with SL=5.

   Layer-2 Anchor:

         It is assumed that the packet successfully traversed S1 and C1
         segments so that the SL was decremented 3 to 1 in the first
         scenario, and 5 to 3 in the second scenario before arriving the
         node of "A2::1" or "A2::" segment.

         In the first scenario that the L2-anchor node of "A2::1"
         segment is bound to a service policy which indicates path via
         service function S2 and L3-anchor function A3::1, the node does
         End.B6 process for the receiving packet to push a new SRH with
         SID list <S2, A3::1> with SL=1.  The node updates DA to next
         service function SID S2 which the SL indicates and forward the
         packet.

         In the second scenario that one SRH with SIDs <S1, C1, A2::,
         S2, A3::1, D::1>, the L2-anchor node of "A2::" segment is bound
         to just End function.  The node does End process for the
         receiving packet according to the SRH that decrements SL to 2,
         updates DA to next service function SID S2 which the SL
         indicates and forward the packet.

   Layer-3 Anchor:

         The L3-anchor node of "A3::1" segment does End.T process for
         the receiving packet according to the SRH(s).

         In the first scenario that outer SRH with SIDs <S2, A3::1>, it
         is assumed that the SL is decremented to 0 at service function
         S2 so that the node pops outer SRH.  Then the node processes
         second SRH with SIDs <S1, C1, A2::1, D::1> that decrements SL



Matsushima, et al.        Expires May 16, 2018                 [Page 12]


Internet-Draft             SRv6-mobile-uplane              November 2017


         to 0, updates DA to D::1 which the SL indicates and lookup IPv6
         table associated with "A3::1".  In this case, the decremented
         SL is 0 so that the node does PSP operation of popped out the
         SRH from the packet and forward it.

         In the second scenario that one SRH with SIDs <S1, C1, A2::,
         S2, A3::1, D::1>, L3-anchor node of "A3::" segment does End.T
         process for the receiving packet according to the SRH.  Rest
         part of processes are as same as previous case.

6.2.2.  Downlink

   In downlink, SRv6 node applies following SRv6 end point functions and
   transit behavior.

   Layer-3 Anchor:

         When the L3-anchor node receives a packet destine to "S::1"
         from a mobile node "D::1", it does T.Insert process for the
         receiving packets.

         First scenario is that the service policy for "S::1" is via
         service function S2 before reach to L2-anchor "A2::2" so that
         the node pushes a SRH with SID list <S2, A2::2, S::1> with
         SL=2.  The node updates DA to service function S2 which the SL
         indicates and forward the packet.

         Second scenario is that the L3-anchor function directly
         indicates the path beyond the L2-anchor, service function S1,
         node C3 and access point "A1::" for example, the SID list shoud
         be <S2, A2::, S1, C1, A1::1, D::1> with SL=5.

   Layer-2 Anchor:

         It is assumed that the packet successfully traversed S2 segment
         so that the SL was decremented 2 to 1 in the former case, and 5
         to 4 in the latter case before arriving the node of "A2::2" or
         "A2::" segment.

         In the first scenario that the L2-anchor node of "A2::2"
         segment is bound to a service policy which indicates path via
         node C1, service function S1 and access point function A1::,
         the node does End.B6 process for the receiving packet to push a
         new SRH with SID list <C1, S1, A1::1> with SL=1.  The node
         updates DA to next service function SID C1 which the SL
         indicates and forward the packet.





Matsushima, et al.        Expires May 16, 2018                 [Page 13]


Internet-Draft             SRv6-mobile-uplane              November 2017


         In the second scenario that one SRH with SIDs <S1, C1, A2::,
         S2, A3::1, D::1>, the L2-anchor node of "A2::" segment is bound
         to just End function.  The node does End process for the
         receiving packet according to the SRH that decrements SL to 2,
         updates DA to next node C1 which the SL indicates and forward
         the packet.

   Access Point:

         The access point node of "A1::1" segment does End process for
         the receiving packet according to the SRH(s).

         In the first scenario that outer SRH with SIDs <C1, S1, A1::1>,
         it is assumed that the SL is decremented 2 to 0 at node C1 and
         service function S1 so that the outer SRH is popped out by PSP
         at S1.  Thus the node processes second SRH with SIDs <S2,
         A2::2, S::1> that decrements SL to 0, updates DA to S::1 which
         the SL indicates and forward the packet to the mobile node
         through radio channel associated with "S::1".  In this case,
         the decremented SL is 0 so that the node does PSP operation of
         popped out the SRH from the packet and forward it.

         In the second scenario that one SRH with SIDs <S2, A2::, C1,
         S1, A1::1, S::1>, access node of "A1::1" segment does End
         process for the receiving packet according to the SRH.  Rest
         part of processes are as same as previous case.

6.3.  Stateless Interworking with Legacy Access Network

   This section describes an use case where user-plane functions are
   interworking in stateless between SRv6 and legacy access networks.
   Here stateless means that there's no need to be aware any states of
   mobility sessions in the node.

   As some types of interworking scenarios could be considered, we will
   describe other cases in the future versions of this document.

6.3.1.  Uplink: Lagacy Access to SRv6

   Legacy Access Point:

         When a legacy access point node receives a packet destined to
         "D::1" from a mobile node "S::1" through associated radio
         channel, it does tunnel encapsulation with the tunneling
         parameters, IPv4 DA, SA and tunnel header with ID, and sends
         out the packet to the network.

   Stateless Interworking:



Matsushima, et al.        Expires May 16, 2018                 [Page 14]


Internet-Draft             SRv6-mobile-uplane              November 2017


         The stateless interworking node of corresponding to the IPv4 DA
         does T.Tmap process for the receiving packet to pop the tunnel
         headers and push a SRH to the packet.  The SRH consists of SIDs
         <B1, D::1> with SL=1, where "B1" encodes IW-IPv6-Prefix, tunnel
         IPv4 DA, SA and TUN-ID in it as Figure 3 defined.  The
         stateless interworking node updates DA to "B1" and forward the
         packet.  SA of the packet must be kept as "S::1".

   Layer-2 or Layer-3 Anchor:

         The receiving node of the packet destine to B1 either be
         Layer-2 anchor, or Layer-3 anchor node.  Which type of anchor
         function bound to B1 depends on operational policy.

         In case of B1 to an L2-anchor node, the L2-anchor node does
         End.B6 process for the receiving packet as same as previous
         section.

         In case of B1 to an L3-anchor node, the L3-anchor node does
         End.T process for the receiving packet as same as previous
         section.

6.3.2.  Downlink: SRv6 to Legacy Access

   Layer-2 or Layer-3 Anchor:

         In case of an L3-anchor node receives a packet destine to S::1
         from the correspondent node "D::1", and stateless interworking
         SID is bound to the next segment of S::1 , the L3-anchor node
         does T.Insert process for the receiving packet to push a SRH
         with SID list <B2::, S::1> with SL=1, where "B2" which encodes
         IW-IPv6-Prefix, tunnel IPv4 DA, SA and TUN-ID in it as Figure 3
         defined.  The L3-anchor node updates DA to "B2" and forward the
         packet.

         In case of an L2-anchor node receives a packet destine to SID
         "A2::B2" and the SID is bound to "B2", the L2-anchor node does
         End.B6 process for the receiving packet as same as previous
         section.  The node updates DA to B2 and forward the packet.

   Stateless Interworking:

         The stateless interworking node of "B2" End.TM process for the
         receiving packet according to the SRH.  The node decrement SL
         to 0, updates DA to "D::1" which the SL indicates, push IPv4
         and tunnel headers with IPv4 DA, SA and TUN-ID extracted from
         "B2", and forward the packet to the legacy network.




Matsushima, et al.        Expires May 16, 2018                 [Page 15]


Internet-Draft             SRv6-mobile-uplane              November 2017


         In this use case, decremented SL is 0 so that the node does PSP
         operation of popped out the SRH from the packet and forward it.

   Legacy Access Point:

         The legacy access point node of the IPv4 DA does tunnel
         termination process for the receiving packet according to the
         tunnel header.  The node pop the IPv4 and tunnel header and
         forward the packet to the mobile node through radio channel
         associated with the tunnel.

7.  Network Slicing Considerations

   Mobile network may be required to create a network slicing that
   represent a set of network resources and isolate those resource from
   other slices.  User-plane functions represented as SRv6 segments
   would be part of a slice.

   To represent a set of user-plane function segments for a slice,
   sharing same prefix through those SIDs within the slice could be a
   straightforward way.  SIDs in a network slice may include other type
   of functions in addition to the mobile user-plane functions described
   in this document, and underlay integration to meet SLA and quality
   requirements.

   While network slicing has been discussed in the IETF and other
   standardization bodies, what functionalities are required for network
   slicing in mobile user-plane is further study item and to be
   discussed.

8.  Control Plane Considerations

8.1.  Existing Control Plane

   A mobile control-plane entity may allocate SIDs to the node of
   corresponding user-plane function.  In this case, the control-plane
   entity must signal allocated SIDs to other side of entity.

   If the control-plane entity needs to employ existing mobile control-
   plane protocol to signal, GTP-C or PMIP for example, it must require
   not to impact the control-plane protocols.  In this case, tunnel
   endpoint IPv6 address field in the control-plane message can be used
   to signal a SID.

   The basic mode described in Section 6.1 should be adopted.  In the
   basic mode, SID indicates unique session so that tunnel identifier is
   not required to SRv6 user-plane.  But the mobile control-plane may be
   assumed that one user-plane entity has one IPv6 address and it



Matsushima, et al.        Expires May 16, 2018                 [Page 16]


Internet-Draft             SRv6-mobile-uplane              November 2017


   allocates tunnel identifier per session.  In this case, SRv6 node of
   user-plane can form SID with the IPv6 address and the tunnel
   identifier.

   When an IPv6 prefix "A::/64" is allocated to an user-plane, and the
   control-plane allocate one 32bits tunnel identifier of "0x12345678"
   for a mobile session, the user-plane node forms a 128bits SID
   "A::1234:5678".

   In this way, there is no impact to the control-plane.

8.2.  Aggregate Mode

   To support aggregate mode described in Section 6.2 in control-plane
   protocol, allocated SIDs for service policies can be signaled as
   tunnel endpoint IPv6 address too.  In this case, SRv6 policy
   associated to the SID should be configured in the user-plane node
   through other means.

   Aggregate mode user-plane can take advantage of SRv6 that enables
   seamless mobile user-plane deployment with service chaining, VPNs,
   traffic-engineering by computed path to fulfil the policy.

   In case of a mobile control-plane is aware those policies and is
   capable to advertise them, the mobile control-plane can integrate
   SRv6 advanced features.

8.3.  User-Plane Sepalated Control Plane

   In an user-plane separated control-plane system, a mobile user-plane
   entity may allocate SIDs to an user-plane function instead of the
   control-plane.  In this case, the user-plane entity should inform
   allocated SIDs back to the control-plane entity.

   If the control- and user-plane entities need to employ existing user-
   plane control protocol in between, such as PFCP for example, it may
   be required not to impact that protocol.  In this case, the control-
   plane entity is only allowed to signal SID in a tunnel endpoint IPv6
   address field.

8.4.  Centralized Controller

   When a centralized controller interfaces to mobile control-planes is
   capable to allocate SIDs to the controlling SRv6 nodes, the mobile
   control-planes just need to indicate nodes and their user-plane
   functions to the controller.  In this case, the controller must
   allocate appropriate SIDs for the user-plane functions to the SRv6
   nodes.  The controller must configure allocated SIDs to the nodes.



Matsushima, et al.        Expires May 16, 2018                 [Page 17]


Internet-Draft             SRv6-mobile-uplane              November 2017


   To indicate nodes and their user-plane functions from mobile control-
   plane to user-plane, the centralized controller could take advantage
   of [I-D.ietf-dmm-fpc-cpdp].  It provides interface to the control-
   plane to manage the user-plane of mobile networks.  To build
   centralized controller for mobile user-plane is out of scope of this
   document.

8.5.  Stateless Interworking

   A mobile control-plane is not required to configure statless
   interworking function in interworking node.  This benefits operators
   to gradually migrate from legacy to advanced mobile user-plane with
   no impact to the legacy system.

   SID allocating entity of SRv6 user-plane nodes needs to be aware of
   IW-IPv6-Prefix to form interworking SID.  Legacy user-plane network
   allocate IPv4 address space routed to SRv6 user-plane network.  The
   mobile control-plane of legacy user-plane also need to allocate
   tunnel endpoint IPv4 addresses from that address space for mobile
   sessions which is usual operation for it and no difference from
   legacy system.

9.  Security Considerations

   TBD

10.  IANA Considerations

   This document has no actions for IANA.

11.  Acknowledgements

   TBD

12.  References

12.1.  Normative References

   [I-D.filsfils-spring-srv6-network-programming]
              Filsfils, C., Leddy, J., daniel.voyer@bell.ca, d.,
              daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R.,
              Matsushima, S., Lebrun, D., Decraene, B., Peirens, B.,
              Salsano, S., Naik, G., Elmalky, H., Jonnalagadda, P.,
              Sharif, M., Ayyangar, A., Mynam, S., Henderickx, W.,
              Bashandy, A., Raza, K., Dukes, D., Clad, F., and P.
              Camarillo, "SRv6 Network Programming", draft-filsfils-
              spring-srv6-network-programming-02 (work in progress),
              October 2017.



Matsushima, et al.        Expires May 16, 2018                 [Page 18]


Internet-Draft             SRv6-mobile-uplane              November 2017


   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
              Litkowski, S., and R. Shakir, "Segment Routing
              Architecture", draft-ietf-spring-segment-routing-13 (work
              in progress), October 2017.

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

12.2.  Informative References

   [I-D.ietf-dmm-fpc-cpdp]
              Matsushima, S., Bertz, L., Liebsch, M., Gundavelli, S.,
              Moses, D., and C. Perkins, "Protocol for Forwarding Policy
              Configuration (FPC) in DMM", draft-ietf-dmm-fpc-cpdp-09
              (work in progress), October 2017.

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

   [TS.29281]
              3GPP, , "General Packet Radio System (GPRS) Tunnelling
              Protocol User Plane (GTPv1-U)", 3GPP TS 29.281 10.3.0,
              September 2011.

Authors' Addresses

   Satoru Matsushima
   SoftBank
   Tokyo
   Japan

   Email: satoru.matsushima@g.softbank.co.jp


   Clarence Filsfils
   Cisco Systems, Inc.
   Belgium

   Email: cf@cisco.com







Matsushima, et al.        Expires May 16, 2018                 [Page 19]


Internet-Draft             SRv6-mobile-uplane              November 2017


   Miya Kohno
   Cisco Systems, Inc.
   Japan

   Email: mkohno@cisco.com


   Daniel Voyer
   Bell Canada
   Canada

   Email: daniel.voyer@bell.ca







































Matsushima, et al.        Expires May 16, 2018                 [Page 20]