Skip to main content

DetNet SRv6 Data Plane Encapsulation
draft-geng-detnet-dp-sol-srv6-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Xuesong Geng , Mach Chen
Last updated 2019-03-11
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-geng-detnet-dp-sol-srv6-00
Network Working Group                                            X. Geng
Internet-Draft                                                   M. Mach
Intended status: Experimental                                     Huawei
Expires: September 12, 2019                               March 11, 2019

                  DetNet SRv6 Data Plane Encapsulation
                    draft-geng-detnet-dp-sol-srv6-00

Abstract

   This document specifies Deterministic Networking data plane operation
   for SRv6 encapsulated user data.

Requirements Language

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

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://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 September 12, 2019.

Copyright Notice

   Copyright (c) 2019 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
   (https://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

Geng & Mach            Expires September 12, 2019               [Page 1]
Internet-Draft              Abbreviated-Title                 March 2019

   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology and Conventions . . . . . . . . . . . . . . . . .   3
     2.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Conventions . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  SRv6 DetNet Data Plane Overview . . . . . . . . . . . . . . .   4
     3.1.  SRv6 DetNet Data Plane Layers . . . . . . . . . . . . . .   4
     3.2.  SRv6 DetNet Data Plane Scenarios  . . . . . . . . . . . .   4
   4.  SRv6 DetNet Data Plane Solution Considerations  . . . . . . .   6
   5.  SRv6 DetNet Data Plane Solution for Service Sub-layer . . . .   7
     5.1.  TLV Based SRv6 Data Plane Solution  . . . . . . . . . . .   7
       5.1.1.  Encapsulation . . . . . . . . . . . . . . . . . . . .   7
       5.1.2.  Functions . . . . . . . . . . . . . . . . . . . . . .   9
     5.2.  SID Based SRv6 Data Plane Solution  . . . . . . . . . . .  10
       5.2.1.  Encapsulation . . . . . . . . . . . . . . . . . . . .  10
       5.2.2.  Functions . . . . . . . . . . . . . . . . . . . . . .  11
     5.3.  DetNet SID Based SRv6 Data Plane Solution . . . . . . . .  12
       5.3.1.  Encapulation  . . . . . . . . . . . . . . . . . . . .  12
       5.3.2.  Functions . . . . . . . . . . . . . . . . . . . . . .  13
     5.4.  DetNet SRH Based SRv6 Data Plane Solution . . . . . . . .  13
       5.4.1.  Encapsulation . . . . . . . . . . . . . . . . . . . .  13
       5.4.2.  Functions . . . . . . . . . . . . . . . . . . . . . .  14
     5.5.  MPLS Based SRv6 Data Plane Solution . . . . . . . . . . .  14
   6.  SRv6 DetNet Data Plane Solution for Transport Sub-layer . . .  15
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  15
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  15
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  15
   10. Normative References  . . . . . . . . . . . . . . . . . . . .  15
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1.  Introduction

   Deterministic Networking(DetNet) provides a capability to carry
   specified data flows with extremely low data loss rates and bounded
   latency within a network domain.  DetNet is enabled by a group of
   technologies, such as resource allocation, service protection and
   explicit routes.([I-D.ietf-detnet-architecture])

   Segment Routing(SR) leverages the source routing paradigm.  A ingress
   node steers a packet through an ordered list of instructions, called
   "segments".  SR can be applied over IPv6 data plane using Routing
   Extension Header(SRH).  Besides routing, the segment of SRv6 can
   indicate functions which are executed locally in the node where they

Geng & Mach            Expires September 12, 2019               [Page 2]
Internet-Draft              Abbreviated-Title                 March 2019

   are defined.  SRv6 network programming makes it convenient to add
   sophisticated operations in the network.  ([RFC8402])

   This document describes how to implement DetNet with SRv6.  It can
   provide : 1.  Source routing, which can steer the DetNet flows go
   through the network according to an explicit route with allocated
   resource; 2.  Network programming, which can give packet instructions
   in some special nodes(even all the nodes) along the path to guarantee
   service protection and congestion protection.  DetNet SRv6
   encapsulation and new SRv6 functions for DetNet are defined in this
   document.

   Control plane and OAM are not in the scope of this document.

2.  Terminology and Conventions

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

2.1.  Terminology

   Terminologies for DetNet go along with the definition in
   [I-D.ietf-detnet-architecture].  Other terminologies are defined as
   follows:

   o  NH: The IPv6 next-header field.

   o  SID: A Segment Identifier which represents a specific segment in a
      segment routing domain([RFC8402]).

   o  SRH: The Segment Routing Header
      ([I-D.ietf-6man-segment-routing-header]).

2.2.  Conventions

   Conventions in the document are defined as follows:

   o  NH=SRH means that NH is 43 with routing type 4.

   o  A SID list is represented as <S1, S2, S3> where S1 is the first
      SID to visit, S2 is the second SID to visit and S3 is the last SID
      to visit along the SR path.

   o  SRH[SL] represents the SID pointed by the SL field in the first
      SRH.  In our example, SRH[2] represents S1, SRH[1] represents S2
      and SRH[0] represents S3.

Geng & Mach            Expires September 12, 2019               [Page 3]
Internet-Draft              Abbreviated-Title                 March 2019

   o  (SA,DA) (S3, S2, S1; SL) represents an IPv6 packet with:

         IPv6 header with source and destination addresses SA and DA
         respectively, and next-header SRH, with SID list <S1, S2, S3>
         with SegmentsLeft = SL

         The payload of the packet is not represented

         (S3, S2, S1; SL) represents the same SID list as <S1, S2, S3>,
         but encoded in the SRH format where the rightmost SID in the
         SRH is the first SID and the leftmost SID in the SRH is the
         last SID

3.  SRv6 DetNet Data Plane Overview

3.1.  SRv6 DetNet Data Plane Layers

   [I-D.ietf-detnet-architecture]decomposes the DetNet data plane into
   two sub-layers: service sub-layer and transport sub-layer.  Different
   from DetNet MPLS data plane solution, which uses DetNet Control
   Word(d-CW) and S-Label to support service sub-layer and uses T-Label
   to support transport sub-layer, no explicit sub-layer division can be
   found in SRv6 data plane.  A classical SRv6 DetNet data plane
   solution is showed in the picture below:

                                  +-------------------+
                                  | Outer Ipv6 Header |
                                  +-------------------+
                                  |        SRH        |
      +-------------------+       +-------------------+
      |     Ipv6 Header   | ----> |     Ipv6 Header   |
      +-------------------+       +-------------------+

   The outer IPv6 Header with SRH is used for carrying DetNet flows.
   Traffic Engineering is programmed in the segment list of SRH, and
   other functions and arguments for service protection (packet
   replication, elimination and ordering) and congestion control (packet
   queuing and forwarding) are also defined in SRH.

3.2.  SRv6 DetNet Data Plane Scenarios

Geng & Mach            Expires September 12, 2019               [Page 4]
Internet-Draft              Abbreviated-Title                 March 2019

                |                                         |
    ----IPv6--->|<---------------SRv6 DetNet------------->|<----IPv6---
                |                                         |
                |             +------+T2+----+            |
      +---+    +---+        +-+-+          +-+-+        +---+    +---+
      | E1+----| In|--+T1+--+R1 |          |R2 |--+T4+--| Eg+----+ E2|
      +---+    +---+        +-+-+          +-+-+        +---+    +---+
                              +-----+T3+-----+

   The figure above shows that an IPv6 flow is sent our from the end
   station: E1.  The packet of the flow is encapsulated as a DetNet SRv6
   packet in the Ingress(In) and transported through an SRv6 DetNet
   domain.  In the Egress(Eg), the upper IPv6 header with SRH of the
   packet is popped, and the packet is transmitted to the
   destination(E2).

   The DetNet packet processing is as follows:

   Ingress:

      Insert SRv6 Policy, which can steer the packet from Ingress to
      Relay Node 1

      Flow Identification and Sequence Number are carried in SRH

   Relay Node 1(Replication Node):

      Replicate the payload and IPv6 Header with SRH

      Binding two different SRv6 Policy respectively to the original
      packet and the replicated packet, which can steer the packet from
      Relay Node 1 to Relay Node 2 through two tunnels

   Relay Node 2(Elimination Node):

      Eliminate the redundant packets

      Binding a new SRv6 Policy to the survival packet, which can steer
      the packet from Relay Node 2 to Egress.

   Egress:

      Decapsulate the upper Ipv6 header

      Send the packet to the End Station 2

   The DetNet packet encapsulation is as follows:

Geng & Mach            Expires September 12, 2019               [Page 5]
Internet-Draft              Abbreviated-Title                 March 2019

      End Station1 out : (E1,E2)

      Ingress out : (In, T1)(R1,T1,SL=2)(E1,E2)

      Transit Node1 out : (In, R1)(R1,T1,SL=1)(E1,E2)

      Relay Node1 out : (R2, R1)(R2,T2,SL=2)(E1,E2)/(R2,
      R1)(R2,T3,SL=2)(E1,E2)

      Transit Node2 out : (R2, R1)(R2,T2,SL=1)(E1,E2)

      Transit Node3 out : (R2, R1)(R2,T3,SL=1)(E1,E2)

      Relay Node2 out : (Eg, R2)(Eg,T4,SL=2)(E1,E2)

      Transit Node4 out : (Eg, R2)(Eg,T4,SL=1)(E1,E2)

      Egress out : (E1,E2)

4.  SRv6 DetNet Data Plane Solution Considerations

   To carry DetNet over SRv6, the following elements are required:

   1.  A method of identifying the SRv6 payload type;

   2.  A suitable explicit route to deliver the DetNet flow ;

   3.  A method of indicating packet processing, such as PREOF;

   4.  A method of identifying the DetNet flow;

   5.  A method of carrying DetNet sequence number;

   6.  A method of carrying queuing and forwarding indication to do
   congestion protection;

   In this design, DetNet flows are encapsulated with SRH in the Ingress
   Node.  The SR policy in the SRH steers the DetNet flow along a
   selected path.  The explicit route allocated to a DetNet flow, which
   protect it from temporary interruptions caused by the convergence of
   routing, is encoded within the SID list of a SR policy.  The network
   device inside the DetNet domain forwards the packet according to IPv6
   Destination Address(DA), and the IPv6 DA is updated with the SID
   list.

   With SRv6 network programming, the SID list can also give instruments
   representing a function to be called at the node in the DetNet
   domain.  Therefore DetNet specific functions defined in

Geng & Mach            Expires September 12, 2019               [Page 6]
Internet-Draft              Abbreviated-Title                 March 2019

   [I-D.ietf-detnet-architecture], corresponding to local packet
   processing in the network, can also be implemented by SRv6.  New
   functions associated with SIDs for DetNet are defined in this
   document.

   This document describes how DetNet flows are encapsulated/identified,
   and how functions of Packet Replication/Elimination/Ordering are
   implemented in an SRv6 domain.  Congestion protection is also in the
   scope of this document.

   Editor: This version only covers the functions of service protection
   and the congestion protection considerations will be added in the
   following versions.

5.  SRv6 DetNet Data Plane Solution for Service Sub-layer

   This section defines options of SRv6 data plane solution to support
   DetNet Service Sub-layer.

5.1.  TLV Based SRv6 Data Plane Solution

5.1.1.  Encapsulation

   An SRv6 Segment is a 128-bit value.  SID is used as a shorter
   reference for "SRv6 Segment".  SRv6 SID can also be represented as
   LOC:FUNCT, where LOC, abbreviated for "LOCATION", directs the
   explicit route, FUNCT, abbreviated for "FUNCTION", directs the packet
   processing in the local node
   ([I-D.filsfils-spring-srv6-network-programming]).

   The SRH for DetNet in the outer IPv6 header is showed as follows:

Geng & Mach            Expires September 12, 2019               [Page 7]
Internet-Draft              Abbreviated-Title                 March 2019

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |   Hdr Ext Len |  Routing Type |  Segment Left |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Last Entry  |     Flags     |              Tag              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                     Location & Function                       |
    |           (Segment List[0] for relay node or edge node)       |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                       Segment List[n]                         |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Optional TLVs                        |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Two new TLVs are defined to support DetNet service protection.
   DetNet Flow Identification TLV is used to uniquely identify a DetNet
   flow in an SRv6 DetNet node.  DetNet sequence number is used to dis
   crime packets in the same DetNet flow.  They are defined as follows:

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |    Length     |           RESERVED            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |        RESERVED       |           Flow Identification         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

   o  Type: 8bits, to be assigned by IANA.

   o  Length: 8.

   o  RESERVED: 28 bits, MUST be 0 on transmission and ignored on
      receipt.

   o  Flow Identification: 20 bits, which is used for identifying DetNet
      flow.

Geng & Mach            Expires September 12, 2019               [Page 8]
Internet-Draft              Abbreviated-Title                 March 2019

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |    Length     |           RESERVED            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |RESERVE|                    Sequence Number                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

   o  Type: 8 bits, to be assigned by IANA.

   o  Length: 8.

   o  RESERVED: 20 bits.  MUST be 0 on transmission and ignored on
      receipt.

   o  Sequence Number: 28 bits, which is used for indicating sequence
      number of a DetNet flow.

5.1.2.  Functions

   New SID functions are defined as follows:

5.1.2.1.  End. B.Replicatioreserve the value of argument field(Inherited
          argument)of segment[0] of SRH n: Packet Replication Function

   1.   IF NH=SRH & SL>0 THEN

   2.   do not decrement SL nor update the IPv6 DA with SRH[SL]

   3.   reserve the value of DetNet TLVs of SRH

   4.   add the DetNet TLVs into SRH'1 and SRH'2

   5.   pop the SRH

   6.   replicate the packet into two packets: packet'1, packet'2

   7.   insert SRH'1 to packet'1

   8.   insert SRH'2 to packet'2

   9.   set the IPv6 DA of packet'1 to the first segment of the SRv6
        Policy of SRH'1

   10.  set the IPv6 DA of packet'2 to the first segment of the SRv6
        Policy of SRH'2

Geng & Mach            Expires September 12, 2019               [Page 9]
Internet-Draft              Abbreviated-Title                 March 2019

   11.  ELSE

   12.  drop the packet

5.1.2.2.  End. B.  Elimination: Packet Elimination Function

   1.  IF NH=SRH & SL>0 & "the packet is not a redundant packet" THEN

   2.  do not decrement SL nor update the IPv6 DA with SRH[SL]

   3.  reserve the value of DetNet TLVs of SRH

   4.  add the DetNet TLVs into SRH'

   5.  pop the SRH

   6.  insert SRH'

   7.  set the IPv6 DA to the first segment of the SRv6 Policy

   8.  ELSE

   9.  drop the packet

5.2.  SID Based SRv6 Data Plane Solution

5.2.1.  Encapsulation

   SRv6 SID can be represented as LOC:FUNCT:ARG::, where LOC,
   abbreviated for "LOCATION", directs the explicit route, FUNCT,
   abbreviated for "FUNCTION", directs the packet processing in the
   local node, and ARG, abbreviated for "ARGUMENTS", provides the
   additional arguments for the functions.  New SID functions for DetNet
   is defined in section 5.2.2.

   The SRH for DetNet in the outer IPv6 header is showed as follows:

Geng & Mach            Expires September 12, 2019              [Page 10]
Internet-Draft              Abbreviated-Title                 March 2019

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |   Hdr Ext Len |  Routing Type |  Segment Left |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Last Entry  |     Flags     |              Tag              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                     Location & Function                       |
    |         (Segment List[0] for relay node or edge node)         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Location & Function       |        Flow Identification    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Flow ID|                 Sequence Number                       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                      Segment List[n]                          |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Optional TLVS                        |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

   o  LOCATION&FUNCTION: the 80 most significant bits that are used for
      routing;

   o  FLOW IDENTIFICATION: 20 bits, which is used for DetNet flow
      identification in the DetNet relay node;

   o  SEQUENCE NUMBER : 28 bits, which are used for dis crime packets in
      the same DetNet flow;

5.2.2.  Functions

   New SID functions are defined as follows:

5.2.2.1.  End. B.Replication: Packet Replication Function

   1.   IF NH=SRH & SL>0 THEN

   2.   do not decrement SL nor update the IPv6 DA with SRH[SL]

   3.   reserve the value of argument field(Inherited argument)of
        segment[0] of SRH

Geng & Mach            Expires September 12, 2019              [Page 11]
Internet-Draft              Abbreviated-Title                 March 2019

   4.   write the inherited arguments into the argument field of
        segment[0] of SRH'1 and SRH'2

   5.   pop the SRH

   6.   replicate the packet into two packets: packet'1, packet'2

   7.   insert SRH'1 to packet'1

   8.   insert SRH'2 to packet'2

   9.   set the IPv6 DA of packet'1 to the first segment of the SRv6
        Policy of SRH'1

   10.  set the IPv6 DA of packet'2 to the first segment of the SRv6
        Policy of SRH'2

   11.  ELSE

   12.  drop the packet

5.2.2.2.  End. B.  Elimination: Packet Elimination Function

   1.  IF NH=SRH & SL>0 & "the packet is not a redundant packet" THEN

   2.  do not decrement SL nor update the IPv6 DA with SRH[SL]

   3.  write the inherited arguments into the argument field of
       segment[0] of SRH'

   4.  pop the SRH

   5.  insert SRH'

   6.  set the IPv6 DA to the first segment of the SRv6 Policy

   7.  ELSE

   8.  drop the packet

5.3.  DetNet SID Based SRv6 Data Plane Solution

5.3.1.  Encapulation

   A non-forwarding DetNet SID is defined to carry Flow Identification
   and Sequence Number.

Geng & Mach            Expires September 12, 2019              [Page 12]
Internet-Draft              Abbreviated-Title                 March 2019

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |   Hdr Ext Len |  Routing Type |  Segment Left |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Last Entry  |     Flags     |              Tag              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                     Location & Function                       |
    |           (Segment List[0] for relay node or edge node)       |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                       Segment List[n]                         |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                         DetNet SID                            |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Optional TLVs                          |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

5.3.2.  Functions

   TBD

5.4.  DetNet SRH Based SRv6 Data Plane Solution

5.4.1.  Encapsulation

   A New SRH is defined to carry Flow Identification and Sequence
   Number.

Geng & Mach            Expires September 12, 2019              [Page 13]
Internet-Draft              Abbreviated-Title                 March 2019

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |   Hdr Ext Len |  Routing Type |  Segment Left |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Last Entry  |     Flags     |              Tag              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                     Location & Function                       |
    |           (Segment List[0] for relay node or edge node)       |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                       Segment List[n]                         |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Optional TLVs                          |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |   Hdr Ext Len |  Routing Type |  Segment Left |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Last Entry  |     Flags     |              Tag              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                           DetNet SID                          |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Optional TLVs                          |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

5.4.2.  Functions

   TBD

5.5.  MPLS Based SRv6 Data Plane Solution

   SRH can be part of IPv6 Header in the picture below, and no protocol
   extensions are needed in SRH.  The structure keeps the same as the
   definition in [I-D.ietf-detnet-dp-sol-mpls] :

Geng & Mach            Expires September 12, 2019              [Page 14]
Internet-Draft              Abbreviated-Title                 March 2019

         +---------------------------------+
         |                                 |
         |           DetNet Flow           |
         |         Payload  Packet         |
         |                                 |
         +---------------------------------+ <--\
         |       DetNet Control Word       |    |
         +---------------------------------+    +--> DetNet data plane
         |             S-Label             |    |    MPLS encapsulation
         +---------------------------------+ <--/
         |           UDP Header            |
         +---------------------------------+
         |          IPv6 Header            |-------> SRH included
         +---------------------------------+
         |           Data-Link             |
         +---------------------------------+
         |           Physical              |
         +---------------------------------+

6.  SRv6 DetNet Data Plane Solution for Transport Sub-layer

   TBD

7.  IANA Considerations

   This document makes no request of IANA.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.

8.  Security Considerations

   TBD

9.  Acknowledgements

   Thank you for valuable comments from James Guichard and Andrew Mails.

10.  Normative References

   [I-D.filsfils-spring-srv6-network-programming]
              Filsfils, C., Camarillo, P., Leddy, J.,
              daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6
              Network Programming", draft-filsfils-spring-srv6-network-
              programming-07 (work in progress), February 2019.

Geng & Mach            Expires September 12, 2019              [Page 15]
Internet-Draft              Abbreviated-Title                 March 2019

   [I-D.ietf-6man-segment-routing-header]
              Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and
              d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header
              (SRH)", draft-ietf-6man-segment-routing-header-16 (work in
              progress), February 2019.

   [I-D.ietf-detnet-architecture]
              Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", draft-ietf-
              detnet-architecture-11 (work in progress), February 2019.

   [I-D.ietf-detnet-dp-sol-mpls]
              Korhonen, J. and B. Varga, "DetNet MPLS Data Plane
              Encapsulation", draft-ietf-detnet-dp-sol-mpls-01 (work in
              progress), October 2018.

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

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>.

Authors' Addresses

   Xuesong Geng
   Huawei

   Email: gengxuesong@huawei.com

   Mach(Guoyi) Chen
   Huawei

   Email: mach.chen@huawei.com

Geng & Mach            Expires September 12, 2019              [Page 16]