PCE Q. Xiong
Internet-Draft S. Peng
Intended status: Standards Track ZTE Corporation
Expires: September 9, 2020 March 8, 2020

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

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 9, 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.


Table of Contents

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 B:N:FUNCT:ARGS. However, the size of SRv6 SID faces a scaling challenge to use topological instructions. [I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that enables the use of a shorter segment identifier which is referred to as unified SID, such as 32-bits Label format SID or 32-bits IP address format SID. The SIDs which allocated by SRv6 nodes are in the same SRv6 SID Locator Block, SRH only needs to store the difference between SIDs (N:FUNCT:ARGS), and does not need to contain the SRv6 SID Locator Block information. So the controller (i.e. PCE) should indicate the SRv6 path with SRv6 unified SIDs and the length of SRv6 SID Locator Block and non-Block in a 128-bit classic SRv6 SID.

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

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.

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

U (SRv6 unified SIDs) : 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 (8bit), indicates the bit length of SRv6 SID Locator Block information of a 128-bit SID.

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

4. Operations

The PCC and PCE exchanges the capability of supporting SRv6 compresses SIDs with C 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.

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:

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

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]

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)", Internet-Draft draft-ietf-6man-segment-routing-header-26, 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", Internet-Draft draft-ietf-pce-segment-routing-ipv6-03, October 2019.
[I-D.ietf-spring-srv6-network-programming] Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., Matsushima, S. and Z. Li, "SRv6 Network Programming", Internet-Draft draft-ietf-spring-srv6-network-programming-12, March 2020.
[I-D.mirsky-6man-unified-id-sr] Cheng, W., Mirsky, G., Peng, S., Aihua, L., Wan, X., Wei, C. and S. Shay, "Unified Identifier in IPv6 Segment Routing Networks", Internet-Draft draft-mirsky-6man-unified-id-sr-05, February 2020.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, March 2009.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
[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.
[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.
[RFC8660] Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., Litkowski, S. and R. Shakir, "Segment Routing with the MPLS Data Plane", RFC 8660, DOI 10.17487/RFC8660, December 2019.
[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.

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