idnits 2.17.00 (12 Aug 2021) /tmp/idnits7228/draft-ietf-idr-bgp-ls-sr-policy-path-segment-02.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 document date (January 26, 2022) is 108 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) == Unused Reference: 'I-D.ietf-idr-segment-routing-te-policy' is defined on line 383, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mpls-bfd-directed' is defined on line 443, but no explicit reference was found in the text == Outdated reference: A later version (-17) exists of draft-ietf-idr-segment-routing-te-policy-14 == Outdated reference: A later version (-17) exists of draft-ietf-idr-te-lsp-distribution-16 == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-14 == Outdated reference: A later version (-19) exists of draft-ietf-mpls-bfd-directed-18 Summary: 0 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Interdomain Routing Working Group C. Li 3 Internet-Draft Z. Li 4 Intended status: Standards Track Huawei Technologies 5 Expires: July 30, 2022 Y. Zhu 6 China Telecom 7 W. Cheng 8 China Mobile 9 K. Talaulikar 10 Cisco Systems 11 January 26, 2022 13 SR Policies Extensions for Path Segment and Bidirectional Path in BGP-LS 14 draft-ietf-idr-bgp-ls-sr-policy-path-segment-02 16 Abstract 18 This document specifies the way of collecting configuration and 19 states of SR policies carrying Path Segment and bidirectional path 20 information by using BPG-LS. Such information can be used by 21 external conponents for many use cases such as performance 22 measurement, path re-optimization and end-to-end protection. 24 Requirements Language 26 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 27 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 28 document are to be interpreted as described in RFC 2119 [RFC2119]. 30 Status of This Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at https://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on July 30, 2022. 47 Copyright Notice 49 Copyright (c) 2022 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (https://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 65 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 66 3. Carrying SR Path Sub-TLVs in BGP-LS . . . . . . . . . . . . . 3 67 3.1. SR Path Segment Sub-TLV . . . . . . . . . . . . . . . . . 5 68 3.2. Reverse Segment List Sub-TLV . . . . . . . . . . . . . . 7 69 4. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 8 70 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 71 5.1. BGP-LS TLVs . . . . . . . . . . . . . . . . . . . . . . . 8 72 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 73 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 74 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 75 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 76 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 77 9.2. Informative References . . . . . . . . . . . . . . . . . 11 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 80 1. Introduction 82 Segment routing (SR) [RFC8402] is a source routing paradigm that 83 allows the ingress node steers packets into a specific path according 84 to the Segment Routing Policy 85 [I-D.ietf-spring-segment-routing-policy]. 87 However, the SR Policies defined in 88 [I-D.ietf-spring-segment-routing-policy] only supports unidirectional 89 SR paths and there is no path ID in a Segment List to identify an SR 90 path. For identifying an SR path and supporting bidirectional path 91 [I-D.ietf-spring-mpls-path-segment], new policies carrying Path 92 Segment and bidirectional path information are defined in 93 [I-D.ietf-idr-sr-policy-path-segment], as well as the extensions to 94 BGP to distribute new SR policies. The Path Segment can be a Path 95 Segment in SR-MPLS [I-D.ietf-spring-mpls-path-segment] and SRv6 96 [I-D.ietf-spring-srv6-path-segment], or other IDs that can identify a 97 path. 99 In many network scenarios, the configuration and state of each TE 100 Policy is required by a controller which allows the network operator 101 to optimize several functions and operations through the use of a 102 controller aware of both topology and state information 103 [I-D.ietf-idr-te-lsp-distribution]. 105 To collect the TE Policy information that is locally available in a 106 router, [I-D.ietf-idr-te-lsp-distribution] describes a new mechanism 107 by using BGP-LS update messages. 109 Based on the mechanism defined in [I-D.ietf-idr-te-lsp-distribution], 110 this document describes a mechanism to distribute configuration and 111 states of the new SR policies defined in 112 [I-D.ietf-idr-sr-policy-path-segment] to external components using 113 BGP-LS. 115 2. Terminology 117 This memo makes use of the terms defined in [RFC8402] and 118 [I-D.ietf-idr-te-lsp-distribution]. 120 3. Carrying SR Path Sub-TLVs in BGP-LS 122 A mechanism to collect states of SR Policies via BGP-LS is proposed 123 by [I-D.ietf-idr-te-lsp-distribution]. The characteristics of an SR 124 policy can be described by a TE Policy State TLV, which is carried in 125 the optional non-transitive BGP Attribute "LINK_STATE Attribute" 126 defined in [RFC7752]. The TE Policy State TLV contains several sub- 127 TLVs such as SR TE Policy sub-TLVs. 129 [I-D.ietf-idr-sr-policy-path-segment] defines the BGP extensions for 130 Path Segment. The encoding is shown below. 132 SR Policy SAFI NLRI: 133 Attributes: 134 Tunnel Encaps Attribute (23) 135 Tunnel Type: SR Policy 136 Binding SID 137 Preference 138 Priority 139 Policy Name 140 Explicit NULL Label Policy (ENLP) 141 Segment List 142 Weight 143 Path Segment 144 Segment 145 Segment 146 ... 147 Segment List 148 Weight 149 Path Segment 150 Segment 151 Segment 152 ... 153 ... 155 Figure 1. Path Segment in SR policy 157 Also, [I-D.ietf-idr-sr-policy-path-segment] defines SR policy 158 extensions for bidirectional SR path, the encoding is shown below: 160 SR Policy SAFI NLRI: 161 Attributes: Tunnel Encaps Attribute (23) 162 Tunnel Type: SR Policy 163 Binding SID 164 Preference 165 Priority 166 Policy Name 167 Explicit NULL Label Policy (ENLP) 168 Segment List 169 Weight 170 Path Segment 171 Segment 172 Segment 173 ... 174 Reverse Segment List 175 Weight 176 Path Segment 177 Segment 178 Segment 179 ... 181 Figure 2. SR policy for Bidirectional path 183 In order to collect configuration and states of unidirectional and 184 bidirectional SR policies defined in 185 [I-D.ietf-idr-sr-policy-path-segment], this document defines new sub- 186 TLVs in SR TE Policy sub-TLVs. 188 3.1. SR Path Segment Sub-TLV 190 This section defines the SR Path Segment sub-TLV to describe a Path 191 Segment, and it can be included in the Segment List sub-TLV as 192 defined in [I-D.ietf-idr-te-lsp-distribution] . An SR Path Segment 193 sub-TLV can be associated with an SR path specified by a Segment List 194 sub-TLV. Multiple Path Segment MAY be included in a Segment List for 195 different use cases. When all the SID Lists within a candidate path 196 share the same Path Segment ID, the Path Segment can be used to 197 collect the aggregated information of the candidate path. The format 198 of Path Segment TLV is shown below. 200 0 1 2 3 201 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 202 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 203 | Type | Length | 204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 205 | Flag | Reserved | 206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 | Path Segment ID (4 or 16 octets) | 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 // Sub-TLVs (variable) // 210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 Figure 3. Path Segment sub-TLV 213 Where, 215 o Type: to be assigned by IANA. 217 o Length: the total length of the value field not including Type and 218 Length fields. 220 o Flags: 2 octet field that indicates attribute and status of the 221 Path Segment. The following bit positions are defined. Other 222 bits SHOULD be cleared by originator and MUST be ignored by 223 receiver. 225 0 1 226 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 |D|B| |L| | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 Where: 233 o 235 * D-Flag : Indicates the dataplane for the BSIDs, it is set when 236 Path Segment ID is a 16-octet SRv6 SID unset when the Path 237 Segment ID is a 4-octet SR/MPLS label value. 239 * B-Flag: This flag, when set, indicates the presence of the SRv6 240 Endpoint Behavior and SID Structure encoding specified in 241 [I-D.ietf-idr-bgpls-srv6-ext]. It MUST be ignored when D-flag 242 is unset. They indicate the SRv6 Endpoint behavior and SID 243 structure for the Path Segment ID value in the TLV. 245 * L-Flag: Local flag. Set when the Path Segment has local 246 significance on an SR node. 248 o RESERVED: 2 octets. SHOULD be set to 0 by originator and MUST be 249 ignored by receiver. 251 o Path Segment ID: It indicates the Path Segment ID value based on 252 the status flags. 254 The SRv6 Endpoint Behavior TLV (1250) and the SRv6 SID Structure TLV 255 (1252) defined in [I-D.ietf-idr-bgpls-srv6-ext] are used as sub-TLVs 256 of the SR Path Segment Sub-TLV to optionally indicate the SRv6 257 Endpoint behavior and SID structure for the Binding SID value in the 258 TLV when the Path Segment is an SRv6 Path Segment. 260 3.2. Reverse Segment List Sub-TLV 262 In some scenarios like mobile backhaul transport network, there are 263 requirements to support bidirectional path. In SR, a bidirectional 264 path can be represented as a binding of two unidirectional SR paths 265 [I-D.ietf-spring-mpls-path-segment]. An SR policy carrying SR 266 bidirectional path information is expressed in Figure 2. 267 [I-D.ietf-idr-sr-policy-path-segment] defines a new sub-TLV to 268 describe a reversed SR path of an SID list. 270 This section defines a Reverse Segment List sub-TLV to specify a 271 reverse SR path associated with the path specified by the Segment 272 List, and it reuses the format of SR Segment List TLV defined in 273 [I-D.ietf-idr-te-lsp-distribution]: 275 0 1 2 3 276 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 277 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 278 | Type | Length | 279 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 280 | Flags | RESERVED | 281 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 282 | MTID | Algorithm | RESERVED | 283 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 284 | Weight (4 octets) | 285 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 | sub-TLVs (variable) // 287 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 289 Figure 5. Reverse Segment List Sub-TLV 291 All fields, except the type are defined in 292 [I-D.ietf-idr-te-lsp-distribution], and this TLV reuses it directly. 293 The Type of this TLV is TBA. 295 The SR Segment sub-TLV [I-D.ietf-idr-te-lsp-distribution] MUST be 296 included as an ordered set of sub-TLVs within the SR Segment List TLV 297 when the SID-List is not empty. A SID-List may be empty in certain 298 cases (e.g. for a dynamic path) where the headend has not yet 299 performed the computation and hence not derived the segments required 300 for the path; in such cases, the SR Segment List TLV SHOULD NOT 301 include any SR Segment sub-TLVs [I-D.ietf-idr-te-lsp-distribution]. 303 Note: currently, only one reverse SID list is supported, so the 304 weight field CAN be ignored when processing. However, multiple 305 reverse SID list MAY be supported in the future, and the use case of 306 supporting this still need to be discussed. 308 4. Operations 310 The operations procedures of [RFC7752] can apply to this document. 312 Typically but not limited to, the uni/bidirectional SR policies 313 carrying path identification information can be distributed by the 314 ingress node. 316 Generally, BGP-LS is used for collecting link states and 317 synchronizing with the external component. The consumer of the uni/ 318 bidirectional SR policies carrying path identification information is 319 not BGP LS process by itself, and it can be any applications such as 320 performance measurement [I-D.gandhi-spring-udp-pm] and path re- 321 coputation or re-optimization, etc. The operation of sending 322 information to other precesses is out of scope of this document. 324 5. IANA Considerations 326 5.1. BGP-LS TLVs 328 IANA maintains a registry called "Border Gateway Protocol - Link 329 State (BGP-LS) Parameters" with a sub-registry called "Node Anchor, 330 Link Descriptor and Link Attribute TLVs". The following TLV 331 codepoints are suggested (for early allocation by IANA): 333 Codepoint Description Reference 334 ------------------------------------------------------------- 335 TBA Path Segment sub-TLV This document 336 TBA Reverse Segment List sub-TLV This document 338 6. Security Considerations 340 TBA 342 7. Contributors 344 Mach(Guoyi) Chen 345 Huawei Technologies 346 Huawei Campus, No. 156 Beiqing Rd. 347 Beijing 100095 348 China 350 Email: Mach.chen@huawei.com 352 Jie Dong 353 Huawei Technologies 354 Huawei Campus, No. 156 Beiqing Rd. 355 Beijing 100095 356 China 358 Email: jie.dong@huawei.com 360 James N Guichard 361 Futurewei Technologies 362 2330 Central Express Way 363 Santa Clara 364 USA 366 Email: james.n.guichard@futurewei.com 368 8. Acknowledgements 370 Many thanks to Shraddha Hedge for her detailed review and 371 professional comments. 373 9. References 375 9.1. Normative References 377 [I-D.ietf-idr-bgpls-srv6-ext] 378 Dawra, G., Filsfils, C., Talaulikar, K., Chen, M., 379 Bernier, D., and B. Decraene, "BGP Link State Extensions 380 for SRv6", draft-ietf-idr-bgpls-srv6-ext-09 (work in 381 progress), November 2021. 383 [I-D.ietf-idr-segment-routing-te-policy] 384 Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., 385 Jain, D., and S. Lin, "Advertising Segment Routing 386 Policies in BGP", draft-ietf-idr-segment-routing-te- 387 policy-14 (work in progress), November 2021. 389 [I-D.ietf-idr-te-lsp-distribution] 390 Previdi, S., Talaulikar, K., Dong, J., Chen, M., Gredler, 391 H., and J. Tantsura, "Distribution of Traffic Engineering 392 (TE) Policies and State using BGP-LS", draft-ietf-idr-te- 393 lsp-distribution-16 (work in progress), October 2021. 395 [I-D.ietf-spring-mpls-path-segment] 396 Cheng, W., Li, H., Chen, M., Gandhi, R., and R. Zigler, 397 "Path Segment in MPLS Based Segment Routing Network", 398 draft-ietf-spring-mpls-path-segment-07 (work in progress), 399 December 2021. 401 [I-D.ietf-spring-segment-routing-policy] 402 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 403 P. Mattes, "Segment Routing Policy Architecture", draft- 404 ietf-spring-segment-routing-policy-14 (work in progress), 405 October 2021. 407 [I-D.ietf-spring-srv6-path-segment] 408 Li, C., Cheng, W., Chen, M., Dhody, D., and Y. Zhu, "Path 409 Segment for SRv6 (Segment Routing in IPv6)", draft-ietf- 410 spring-srv6-path-segment-03 (work in progress), November 411 2021. 413 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 414 Requirement Levels", BCP 14, RFC 2119, 415 DOI 10.17487/RFC2119, March 1997, 416 . 418 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 419 S. Ray, "North-Bound Distribution of Link-State and 420 Traffic Engineering (TE) Information Using BGP", RFC 7752, 421 DOI 10.17487/RFC7752, March 2016, 422 . 424 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 425 Decraene, B., Litkowski, S., and R. Shakir, "Segment 426 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 427 July 2018, . 429 9.2. Informative References 431 [I-D.gandhi-spring-udp-pm] 432 Gandhi, R., Filsfils, C., Voyer, D., Salsano, S., Ventre, 433 P. L., and M. Chen, "UDP Path for In-band Performance 434 Measurement for Segment Routing Networks", draft-gandhi- 435 spring-udp-pm-02 (work in progress), September 2018. 437 [I-D.ietf-idr-sr-policy-path-segment] 438 Li, C., Li, Z., Yin, Y., Cheng, W., and K. Talaulikar, "SR 439 Policy Extensions for Path Segment and Bidirectional 440 Path", draft-ietf-idr-sr-policy-path-segment-05 (work in 441 progress), January 2022. 443 [I-D.ietf-mpls-bfd-directed] 444 Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, 445 "Bidirectional Forwarding Detection (BFD) Directed Return 446 Path for MPLS Label Switched Paths (LSPs)", draft-ietf- 447 mpls-bfd-directed-18 (work in progress), August 2021. 449 Authors' Addresses 451 Cheng Li 452 Huawei Technologies 453 Huawei Campus, No. 156 Beiqing Rd. 454 Beijing 100095 455 China 457 Email: c.l@huawei.com 459 Zhenbin Li 460 Huawei Technologies 461 Huawei Campus, No. 156 Beiqing Rd. 462 Beijing 100095 463 China 465 Email: lizhenbin@huawei.com 467 Yongqing Zhu 468 China Telecom 469 109 West Zhongshan Ave 470 Guangzhou 471 China 473 Email: zhuyq8@chinatelecom.cn 474 Weiqiang Cheng 475 China Mobile 476 Beijing 477 China 479 Email: chengweiqiang@chinamobile.com 481 Ketan Talaulikar 482 Cisco Systems 484 Email: ketant.ietf@gmail.com