PCEP Extension for SRv6 Unified SIDs
draft-xiong-pce-segment-routing-ipv6-complement-01

The information below is for an old version of the document
Document Type Active Internet-Draft (individual)
Authors Quan Xiong  , Shaofu Peng 
Last updated 2020-03-28 (latest revision 2020-03-08)
Stream (None)
Formats pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
PCE                                                             Q. Xiong
Internet-Draft                                                   S. Peng
Intended status: Standards Track                         ZTE Corporation
Expires: September 29, 2020                               March 28, 2020

                  PCEP Extension for SRv6 Unified SIDs
           draft-xiong-pce-segment-routing-ipv6-complement-01

Abstract

   This document proposes PCEP extensions for SRv6 Path (i.e.  ERO)
   which applied to the use of SRv6 Unified SIDs.

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 29, 2020.

Copyright Notice

   Copyright (c) 2020 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
   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.

Xiong & Peng           Expires September 29, 2020               [Page 1]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   3
     2.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   3.  PCEP Extensions for SRv6 Unified SIDs . . . . . . . . . . . .   3
     3.1.  The OPEN Object . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  The ERO Object  . . . . . . . . . . . . . . . . . . . . .   4
   4.  Operations  . . . . . . . . . . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
     7.1.  New SR PCE Capability Flag Registry . . . . . . . . . . .   5
     7.2.  Extension for SRv6-ERO Registry . . . . . . . . . . . . .   6
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   [RFC5440] describes the Path Computation Element Protocol (PCEP)
   which is used between a Path Computation Element (PCE) and a Path
   Computation Client (PCC) (or other PCE) to enable computation of
   Multi-protocol Label Switching (MPLS) for Traffic Engineering Label
   Switched Path (TE LSP).  PCEP Extensions for the Stateful PCE Model
   [RFC8231] describes a set of extensions to PCEP to enable active
   control of MPLS-TE and Generalized MPLS (GMPLS) tunnels.  [RFC8281]
   describes the setup and teardown of PCE-initiated LSPs under the
   active stateful PCE model, without the need for local configuration
   on the PCC, thus allowing for dynamic centralized control of a
   network.

   Segment Routing (SR) leverages the source routing paradigm.  Segment
   Routing can be instantiated on MPLS data plane which is referred to
   as SR-MPLS [RFC8660].  SR-MPLS leverages the MPLS label stack to
   construct the SR path.  PCEP Extensions for Segment Routing [RFC8664]
   specifies extensions to the PCEP that allow a stateful PCE to compute
   and initiate TE paths in SR networks.  Segment Routing can be applied
   to the IPv6 architecture which is called SRv6 with the Segment
   Routing Header (SRH) [I-D.ietf-6man-segment-routing-header].
   [I-D.ietf-pce-segment-routing-ipv6] extends the PCEP to support SRv6.

   [I-D.ietf-spring-srv6-network-programming] proposes the SRv6 Network
   Programming to specify a packet processing program by encoding a
   sequence of instructions in the IPv6 packet header.  It defined the
   SID as two parts, LOC:FUNCT or a complete structure is
   BLOCK:NODE:FUNCT:ARGS.  However, the size of SRv6 SID faces a scaling
   challenge to use topological instructions.

Xiong & Peng           Expires September 29, 2020               [Page 2]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

   [I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that
   enables the use of unified segment identifiers which is referred to
   as unified SID, such as MPLS label or IPv4 address, to compress the
   SRH.  So the controller (i.e.  PCE) should indicate the SRv6 path
   with SRv6 unified SIDs in a 128-bit classic SRv6 SID.
   [I-D.liu-idr-segment-routing-te-policy-complement] defined the BGP
   extensions to advertise Unified SIDs in SR-TE policies.

   This document proposes PCEP extensions for SRv6 Path (i.e.  ERO)
   which applied to the use of SRv6 Unified SIDs.

2.  Conventions used in this document

2.1.  Terminology

   The terminology is defined as [RFC5440], [RFC8660],
   [I-D.ietf-spring-srv6-network-programming] and
   [I-D.ietf-pce-segment-routing-ipv6].

2.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  PCEP Extensions for SRv6 Unified SIDs

   As defined in [I-D.mirsky-6man-unified-id-sr], the unified SID is
   used to compress the SRH.  The SIDs which allocated by SRv6 nodes are
   in the same SRv6 SID Locator Block, SRH only needs to store the
   difference between SIDs, such as NODE:FUNCT:ARGS which is non-Block
   information, and does not need to contain the SRv6 SID Locator Block
   information.  When the PCEP is used to support path computation in
   SRv6 networks, the capability of SRv6 path with unified SIDs should
   be advertised between the PCE and PCC.  The length of SRv6 SID
   Locator Block and non-Block in a 128-bit classic SRv6 SID should be
   configured from PCE to PCC.

3.1.  The OPEN Object

   As defined in [I-D.ietf-pce-segment-routing-ipv6], PCEP speakers use
   SRv6 PCE Capability sub-TLV to exchange information about their SRv6
   capability carried in Open object.  This document defined a new flag
   (U-flag) for SRv6 PCE Capability sub-TLV as shown in Figure 1.

Xiong & Peng           Expires September 29, 2020               [Page 3]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

       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=TBD1          |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            Reserved           |             Flags       |U|N|X|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   MSD-Type    | MSD-Value     |   MSD-Type    | MSD-Value     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      //                             ...                             //
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   MSD-Type    | MSD-Value     |           Padding             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 1: U-flag in SRv6-PCE-CAPABILITY sub-TLV

   U (SRv6 unified SIDs is supported) : A PCE sets this flag bit to 1
   carried in Open message to indicate that it supports the
   configuration of SRv6 path with unified SIDs.  A PCC sets this flag
   to 1 to indicate that it supports the capability of processing the
   unified SIDs and and supports the results of SRv6 path with unified
   SIDs.

3.2.  The ERO Object

   SRv6-ERO subobject is used for SRv6 path which consists of one or
   more SRv6 SIDs as defined in [I-D.ietf-pce-segment-routing-ipv6].
   This document extends the SRv6-ERO for supporting the SRv6 unified
   SIDs as Figure 2 shown:

          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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |L|   Type=TBD3 |     Length    | NT    |     Flags   |UET|U|F|S|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Block Len  | Non-Block Len |        Function Code          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       |                      SRv6 SID (optional)                      |
       |                     (128-bit)                                 |
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       //                    NAI (variable, optional)                 //
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 2: Extension for SRv6-ERO Subobject

Xiong & Peng           Expires September 29, 2020               [Page 4]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

   UET (U-SID Encapsulation Type, 2bits), indicates the UET type which
   is defined in [I-D.mirsky-6man-unified-id-sr].

   U (SRv6 unified SIDs, 1bit), If this flag is set, it means that the
   SRv6 path is composed of unified SIDs and the SRv6 SIDs should be
   unified in PCC for unified SRH.

   Block Len (8bits), indicates the bit length of SRv6 SID Locator Block
   information of a 128-bit SID.

   non-Block Len (8bits), indicates the bit length of SRv6 SID Locator
   non-Block information of a 128-bit SID.  It is the length of the
   Node:Func:ARGs which is immediately followed the SRv6 SID Locator
   block.

4.  Operations

   The PCC and PCE exchanges the capability of supporting SRv6
   compresses SIDs with U bit set to 1 with in SRv6 PCE Capability sub-
   TLV carried in Open message.  The SRv6 path is initiated by PCE or
   PCC with PCReq, PCInitiated or PCUpd messages.  The PCC received the
   SRv6 path within SRv6-ERO subobjects.  When the U flag set to 1, it
   indicates the SRv6 SIDs should be unified.  Take the length of the
   short SID as 32 bits as an example.  The PCC analyzes whether the
   SRv6 SIDs are in the same block and whether the Block length of
   Node:Func does not exceed 32 bits based on the Non-Block length.  The
   PCC uses a 32-bit short SID optimization SID List for SRH
   encapsulation.  For each SID within the received SID list in
   SRv6-ERO, it will be optimized to an U-SID according to the UET.
   Other procedures as per [I-D.mirsky-6man-unified-id-sr].

5.  Security Considerations

   TBA

6.  Acknowledgements

   TBA

7.  IANA Considerations

7.1.  New SR PCE Capability Flag Registry

   SR PCE Capability TLV is defined in
   [I-D.ietf-pce-segment-routing-ipv6], and the registry to manage the
   Flag field of the SRv6 PCE Capability TLV is requested in
   [I-D.ietf-pce-segment-routing-ipv6].  IANA is requested to make
   allocations from the registry, as follows:

Xiong & Peng           Expires September 29, 2020               [Page 5]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

   +--------+-----------------------------------------+----------------+
   |  Value |                   Name                  |    Reference   |
   +--------+-----------------------------------------+----------------+
   |  TBD1  |     SRv6 unified SIDs is supported is   |     [this      |
   |        |              supported (U)              |   document]    |
   +--------+-----------------------------------------+----------------+

                                  Table 1

7.2.  Extension for SRv6-ERO Registry

   SRv6-ERO subobject is defined in [I-D.ietf-pce-segment-routing-ipv6],
   and the registry to manage the Flag field of SR-ERO is requested in
   [I-D.ietf-pce-segment-routing-ipv6].  IANA is requested to make
   allocations from the registry, as follows:

    +---------+------------------------------------+------------------+
    |   Value |                Name                |     Reference    |
    +---------+------------------------------------+------------------+
    |   TBD2  |  Extension for SRv6-ERO Subobject  | [this document]  |
    +---------+------------------------------------+------------------+

                                  Table 2

8.  Normative References

   [I-D.ietf-6man-segment-routing-header]
              Filsfils, C., Dukes, D., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", draft-ietf-6man-segment-routing-header-26 (work in
              progress), October 2019.

   [I-D.ietf-pce-segment-routing-ipv6]
              Negi, M., Li, C., Sivabalan, S., Kaladharan, P., and Y.
              Zhu, "PCEP Extensions for Segment Routing leveraging the
              IPv6 data plane", draft-ietf-pce-segment-routing-ipv6-04
              (work in progress), March 2020.

   [I-D.ietf-spring-srv6-network-programming]
              Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
              Matsushima, S., and Z. Li, "SRv6 Network Programming",
              draft-ietf-spring-srv6-network-programming-14 (work in
              progress), March 2020.

   [I-D.liu-idr-segment-routing-te-policy-complement]
              Yao, L. and S. Peng, "BGP Extensions for Unified SID in TE
              Policy", draft-liu-idr-segment-routing-te-policy-
              complement-01 (work in progress), March 2020.

Xiong & Peng           Expires September 29, 2020               [Page 6]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

   [I-D.mirsky-6man-unified-id-sr]
              Cheng, W., Mirsky, G., Peng, S., Aihua, L., Wan, X., and
              C. Wei, "Unified Identifier in IPv6 Segment Routing
              Networks", draft-mirsky-6man-unified-id-sr-06 (work in
              progress), March 2020.

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

   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <https://www.rfc-editor.org/info/rfc5440>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8231]  Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
              Computation Element Communication Protocol (PCEP)
              Extensions for Stateful PCE", RFC 8231,
              DOI 10.17487/RFC8231, September 2017,
              <https://www.rfc-editor.org/info/rfc8231>.

   [RFC8281]  Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
              Computation Element Communication Protocol (PCEP)
              Extensions for PCE-Initiated LSP Setup in a Stateful PCE
              Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
              <https://www.rfc-editor.org/info/rfc8281>.

   [RFC8660]  Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing with the MPLS Data Plane", RFC 8660,
              DOI 10.17487/RFC8660, December 2019,
              <https://www.rfc-editor.org/info/rfc8660>.

   [RFC8664]  Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
              and J. Hardwick, "Path Computation Element Communication
              Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
              DOI 10.17487/RFC8664, December 2019,
              <https://www.rfc-editor.org/info/rfc8664>.

Xiong & Peng           Expires September 29, 2020               [Page 7]
Internet-Draft    PCEP Extension for SRv6 Unified SIDs        March 2020

Authors' Addresses

   Quan Xiong
   ZTE Corporation
   No.6 Huashi Park Rd
   Wuhan, Hubei  430223
   China

   Email: xiong.quan@zte.com.cn

   Shaofu Peng
   ZTE Corporation
   No.50 Software Avenue
   Nanjing, Jiangsu  210012
   China

   Email: peng.shaofu@zte.com.cn

Xiong & Peng           Expires September 29, 2020               [Page 8]