idnits 2.17.1 draft-xiong-pce-segment-routing-ipv6-complement-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (February 19, 2021) is 1155 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-25) exists of draft-ietf-pce-segment-routing-ipv6-08 == Outdated reference: A later version (-10) exists of draft-mirsky-6man-unified-id-sr-08 Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Q. Xiong 3 Internet-Draft S. Peng 4 Intended status: Standards Track ZTE Corporation 5 Expires: August 23, 2021 February 19, 2021 7 PCEP Extension for SRv6 Unified SIDs 8 draft-xiong-pce-segment-routing-ipv6-complement-04 10 Abstract 12 This document proposes PCEP extensions for SRv6 Path which applied to 13 the use of SRv6 Unified SIDs. 15 Status of This Memo 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at https://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on August 23, 2021. 32 Copyright Notice 34 Copyright (c) 2021 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (https://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the Simplified BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 50 2. Conventions used in this document . . . . . . . . . . . . . . 3 51 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 52 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 53 3. PCEP Extensions for SRv6 Unified SIDs . . . . . . . . . . . . 3 54 3.1. The OPEN Object . . . . . . . . . . . . . . . . . . . . . 4 55 3.2. The LSP Object . . . . . . . . . . . . . . . . . . . . . 5 56 3.2.1. The UNIFIED-SID-INFO TLV . . . . . . . . . . . . . . 6 57 3.3. The ERO Object . . . . . . . . . . . . . . . . . . . . . 6 58 4. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 7 59 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 60 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 61 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 62 7.1. New SR PCE Capability Flag Registry . . . . . . . . . . . 8 63 7.2. New LSP Flag Registry . . . . . . . . . . . . . . . . . . 8 64 7.3. Extension for SRv6-ERO Registry . . . . . . . . . . . . . 8 65 8. Normative References . . . . . . . . . . . . . . . . . . . . 9 66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 68 1. Introduction 70 [RFC5440] describes the Path Computation Element Protocol (PCEP) 71 which is used between a Path Computation Element (PCE) and a Path 72 Computation Client (PCC) (or other PCE) to enable computation of 73 Multi-protocol Label Switching (MPLS) for Traffic Engineering Label 74 Switched Path (TE LSP). PCEP Extensions for the Stateful PCE Model 75 [RFC8231] describes a set of extensions to PCEP to enable active 76 control of MPLS-TE and Generalized MPLS (GMPLS) tunnels. [RFC8281] 77 describes the setup and teardown of PCE-initiated LSPs under the 78 active stateful PCE model, without the need for local configuration 79 on the PCC, thus allowing for dynamic centralized control of a 80 network. 82 Segment Routing (SR) leverages the source routing paradigm. Segment 83 Routing can be instantiated on MPLS data plane which is referred to 84 as SR-MPLS [RFC8660]. SR-MPLS leverages the MPLS label stack to 85 construct the SR path. PCEP Extensions for Segment Routing [RFC8664] 86 specifies extensions to the PCEP that allow a stateful PCE to compute 87 and initiate TE paths in SR networks. Segment Routing can be applied 88 to the IPv6 architecture which is called SRv6 with the Segment 89 Routing Header (SRH) [RFC8754]. [I-D.ietf-pce-segment-routing-ipv6] 90 extends the PCEP to support SRv6. 92 [I-D.ietf-spring-srv6-network-programming] proposes the SRv6 Network 93 Programming to specify a packet processing program by encoding a 94 sequence of instructions in the IPv6 packet header. It defined the 95 SID as two parts, LOC:FUNCT or a complete structure is 96 BLOCK:NODE:FUNCT:ARGS. However, the size of SRv6 SID faces a scaling 97 challenge to use topological instructions. 98 [I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that 99 enables the use of unified segment identifiers which is referred to 100 as unified SID, such as MPLS label or IPv4 address, to compress the 101 SRH. So the controller (i.e. PCE) should indicate the SRv6 path 102 with SRv6 unified SIDs in a 128-bit classic SRv6 SID. 103 [I-D.liu-idr-segment-routing-te-policy-complement] defined the BGP 104 extensions to advertise Unified SIDs in SR-TE policies. 106 This document proposes PCEP extensions for SRv6 Path which applied to 107 the use of SRv6 Unified SIDs. 109 2. Conventions used in this document 111 2.1. Terminology 113 The terminology is defined as [RFC5440], [RFC8660], 114 [I-D.ietf-spring-srv6-network-programming] and 115 [I-D.ietf-pce-segment-routing-ipv6]. 117 2.2. Requirements Language 119 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 120 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 121 "OPTIONAL" in this document are to be interpreted as described in BCP 122 14 [RFC2119] [RFC8174] when, and only when, they appear in all 123 capitals, as shown here. 125 3. PCEP Extensions for SRv6 Unified SIDs 127 As defined in [I-D.mirsky-6man-unified-id-sr], the unified SID is 128 used to compress the SRH, and a new field Size (two-bits) in the SRH 129 Flags field is defined as UET (U-SID Encapsulation Type) which is 130 used to indicate which UET domain the packet is currently in. 131 Especially for UET 0b01 domain, the SIDs which allocated by SRv6 132 nodes are in the same SRv6 SID Locator Block, SRH only needs to store 133 the difference between SIDs, such as NODE:FUNCT:ARGS. The 128-bits 134 SRv6 SID can be compressed and truncated and does not need to contain 135 the SRv6 SID Locator Block information but the truncated information. 136 The length of SRv6 SID Locator Block (BL) and the length of truncated 137 SRv6 SID (TL) in a 128-bits classic SRv6 SID should be advertised 138 with each SID from PCE to PCC. 140 An SR path that can be optimized by short U-SIDs and the 128-bit SID 141 can be compressed to a truncated SID. To verify the TL of the SID, a 142 PCE may collect U-SID encapsulation capability (UEC) information and 143 SID allocation per UET flavor of all SRv6 nodes. Each node can 144 support one or more UEC in SRv6 networks. A border node may belong 145 to multiple UET domains, so it may support more than one UEC. If a 146 node support an UEC, it should also allocate related SIDs for this 147 UET flavor. For a SID with specific UET flavor allocated by a node, 148 from the perspective of this node, it starts a specific UET domain. 149 When a PCE computes an SRv6 path, it can check the UEC of each node 150 along this path and outline which UET domain the SRv6 path crosses. 151 The UET flavor attribute may be advertised with each SID by PCE to 152 indicate the type of UET domain which the next segment node belongs 153 to. The PCC should optimize each original 128-bits SID to a short 154 one (e.g, 32-bits) along the path and verify the result according to 155 the UET flavor of previous SID. 157 The UET flavor attribute and BL and TL information of each SID can be 158 directly obtained from the link-state database that is used for path 159 computation by PCE. So when a PCE is used to support path 160 computation in SRv6 networks, the capability of SRv6 path with 161 unified SIDs should be advertised between the PCE and PCC. The 162 information of BL, TL and UET with a 128-bit classic SRv6 SID should 163 be configured from PCE to PCC. 165 3.1. The OPEN Object 167 When the PCEP is used to support path computation in SRv6 networks, 168 the capability of SRv6 path with unified SIDs should be advertised 169 between the PCE and PCC. 171 As defined in [I-D.ietf-pce-segment-routing-ipv6], PCEP speakers use 172 SRv6 PCE Capability sub-TLV to exchange information about their SRv6 173 capability carried in Open object. This document defined a new flag 174 (U-flag) for SRv6 PCE Capability sub-TLV as shown in Figure 1. 176 0 1 2 3 177 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 178 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 179 | Type=TBD1 | Length | 180 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 181 | Reserved | Flags |U|N|X| 182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 183 | MSD-Type | MSD-Value | MSD-Type | MSD-Value | 184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 185 // ... // 186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 187 | MSD-Type | MSD-Value | Padding | 188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 190 Figure 1: U-flag in SRv6-PCE-CAPABILITY sub-TLV 192 U (SRv6 unified SIDs is supported) : A PCE sets this flag bit to 1 193 carried in Open message to indicate that it supports the 194 configuration of SRv6 path with unified SIDs. A PCC sets this flag 195 to 1 to indicate that it supports the capability of processing the 196 unified SIDs and and supports the results of SRv6 path with unified 197 SIDs. 199 3.2. The LSP Object 201 The LSP Object is defined in Section 7.3 of [RFC8231]. This document 202 defiend a new flag (U-flag) for the LSP Object as Figure 2 shown: 204 0 1 2 3 205 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 206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 | PLSP-ID | Flag |U| 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 // TLVs // 210 | | 211 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 Figure 2: U-flag in LSP Object 215 U (SRv6 Unified SIDs bit) : If the bit is set to 1, it indicates that 216 the PCC requests PCE to compute the SRv6 path with the unified SIDs 217 information. A PCE would set this bit to 1 and include a UNIFIED- 218 SID-INFO TLV in the LSP object to configure the SRv6 unified SIDs 219 information in the PCEP message. 221 3.2.1. The UNIFIED-SID-INFO TLV 223 The UNIFIED-SID-INFO TLV is an optional TLV for use in the LSP Object 224 for SRv6 path computation. The type of this TLV is to be allocated 225 by IANA. The format is as shown below. 227 0 1 2 3 228 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 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 230 | Type | Length | 231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 232 | Reserved |FSU| 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 235 Figure 3: The UNIFIED-SID-INFO TLV Format 237 FSU (First SID UET-domain flag, 2bits), indicates the first UET 238 domain constructed by the headend and the first segment node. The 239 value as per [I-D.mirsky-6man-unified-id-sr]. 241 3.3. The ERO Object 243 SRv6-ERO subobject is used for SRv6 path which consists of one or 244 more SRv6 SIDs as defined in [I-D.ietf-pce-segment-routing-ipv6]. 245 This document extends the SRv6-ERO for supporting the SRv6 unified 246 SIDs as Figure 2 shown: 248 0 1 2 3 249 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 250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 251 |L| Type=TBD3 | Length | NT | Flags |UET|F|S| 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 253 | Block Len | Truncated Len | Function Code | 254 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 255 | | 256 | SRv6 SID (optional) | 257 | (128-bit) | 258 | | 259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 260 // NAI (variable, optional) // 261 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 263 Figure 4: Extension for SRv6-ERO Subobject 265 UET (U-SID Encapsulation Type, 2bits), indicates the UET domain 266 constructed by the current segment node and the next segment node. 267 The value as per [I-D.mirsky-6man-unified-id-sr]. Especially, the 268 UET-flag of the last SID will determine whether the overlay VPN SID 269 can be optimized or not in SRH. 271 Block Len (BL, 8bits), indicates the bit length of SRv6 SID Locator 272 Block information of a 128-bit SID. The value range is [1~128]. If 273 the SID is MPLS label, the value of BL is set to 0. 275 Truncated Len (TL, 8bits), indicates the bit length of SRv6 SID 276 Locator Truncated SID information of a 128-bit SID. The value range 277 is [1~128]. It is the length of the Node:Func:ARGs which is 278 immediately followed the SRv6 SID Locator Block. For example, if the 279 128-bit SID is truncated to 32 bits, the TL is set to 32. And if it 280 is 128-bit SID and not be truncated, the TL is set to 128. If the 281 SID is MPLS label, the value of TL is set to 32. 283 4. Operations 285 The PCC and PCE exchanges the capability of supporting SRv6 286 compresses SIDs with U bit set to 1 with in SRv6 PCE Capability sub- 287 TLV carried in Open message. The SRv6 path is initiated by PCE or 288 PCC with PCReq, PCInitiated or PCUpd messages. 290 When PCC received the SRv6 path, if the U-Flag in the LSP object is 291 set to 1, the SRv6 path could be optimized to an SID list that 292 contains short U-SIDs. 294 For each original SID in SRv6-ERO subobject, it will be optimized to 295 an U-SID with the help of BL and TL field and verified according to 296 the UET of prev SID. Especially, the original first SID could be 297 verified with a short U-SID according the FSU flag within UNIFIED- 298 SID-INFO TLV. 300 The SRH will contain the optimized U-SIDs, and the initial UET of SRH 301 will be set as FSU. Other procedures refer to 302 [I-D.mirsky-6man-unified-id-sr]. 304 5. Security Considerations 306 TBA 308 6. Acknowledgements 310 TBA 312 7. IANA Considerations 314 7.1. New SR PCE Capability Flag Registry 316 SR PCE Capability TLV is defined in 317 [I-D.ietf-pce-segment-routing-ipv6], and the registry to manage the 318 Flag field of the SRv6 PCE Capability TLV is requested in 319 [I-D.ietf-pce-segment-routing-ipv6]. IANA is requested to make 320 allocations from the registry, as follows: 322 +--------+-----------------------------------------+----------------+ 323 | Value | Name | Reference | 324 +--------+-----------------------------------------+----------------+ 325 | TBD1 | SRv6 unified SIDs is supported is | [this | 326 | | supported (U) | document] | 327 +--------+-----------------------------------------+----------------+ 329 Table 1 331 7.2. New LSP Flag Registry 333 [RFC8231] defines the LSP object; per that RFC, IANA created a 334 registry to manage the value of the LSP object's Flag field. IANA is 335 requested to make allocations from the registry, as follows: 337 +---------+----------------------------+------------------+ 338 | Value | Name | Reference | 339 +---------+----------------------------+------------------+ 340 | TBD2 | SRv6 Unified SIDs bit (U) | [this document] | 341 | TBD3 | UNIFIED-SID-INFO TLV | [this document] | 342 +---------+----------------------------+------------------+ 344 Table 2 346 7.3. Extension for SRv6-ERO Registry 348 SRv6-ERO subobject is defined in [I-D.ietf-pce-segment-routing-ipv6], 349 and the registry to manage the Flag field of SR-ERO is requested in 350 [I-D.ietf-pce-segment-routing-ipv6]. IANA is requested to make 351 allocations from the registry, as follows: 353 +---------+------------------------------------+------------------+ 354 | Value | Name | Reference | 355 +---------+------------------------------------+------------------+ 356 | TBD4 | Extension for SRv6-ERO Subobject | [this document] | 357 +---------+------------------------------------+------------------+ 359 Table 3 361 8. Normative References 363 [I-D.ietf-pce-segment-routing-ipv6] 364 Li, C., Negi, M., Sivabalan, S., Koldychev, M., 365 Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment 366 Routing leveraging the IPv6 data plane", draft-ietf-pce- 367 segment-routing-ipv6-08 (work in progress), November 2020. 369 [I-D.ietf-spring-srv6-network-programming] 370 Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., 371 Matsushima, S., and Z. Li, "SRv6 Network Programming", 372 draft-ietf-spring-srv6-network-programming-28 (work in 373 progress), December 2020. 375 [I-D.liu-idr-segment-routing-te-policy-complement] 376 Yao, L. and S. Peng, "BGP Extensions for Unified SID in TE 377 Policy", draft-liu-idr-segment-routing-te-policy- 378 complement-04 (work in progress), November 2020. 380 [I-D.mirsky-6man-unified-id-sr] 381 Cheng, W., Mirsky, G., Peng, S., Aihua, L., and G. Mishra, 382 "Unified Identifier in IPv6 Segment Routing Networks", 383 draft-mirsky-6man-unified-id-sr-08 (work in progress), 384 January 2021. 386 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 387 Requirement Levels", BCP 14, RFC 2119, 388 DOI 10.17487/RFC2119, March 1997, 389 . 391 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 392 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 393 DOI 10.17487/RFC5440, March 2009, 394 . 396 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 397 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 398 May 2017, . 400 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 401 Computation Element Communication Protocol (PCEP) 402 Extensions for Stateful PCE", RFC 8231, 403 DOI 10.17487/RFC8231, September 2017, 404 . 406 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 407 Computation Element Communication Protocol (PCEP) 408 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 409 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 410 . 412 [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., 413 Decraene, B., Litkowski, S., and R. Shakir, "Segment 414 Routing with the MPLS Data Plane", RFC 8660, 415 DOI 10.17487/RFC8660, December 2019, 416 . 418 [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., 419 and J. Hardwick, "Path Computation Element Communication 420 Protocol (PCEP) Extensions for Segment Routing", RFC 8664, 421 DOI 10.17487/RFC8664, December 2019, 422 . 424 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 425 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 426 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 427 . 429 Authors' Addresses 431 Quan Xiong 432 ZTE Corporation 433 No.6 Huashi Park Rd 434 Wuhan, Hubei 430223 435 China 437 Email: xiong.quan@zte.com.cn 439 Shaofu Peng 440 ZTE Corporation 441 No.50 Software Avenue 442 Nanjing, Jiangsu 210012 443 China 445 Email: peng.shaofu@zte.com.cn