idnits 2.17.1 draft-peng-idr-segment-routing-te-policy-attr-03.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 date (5 June 2022) is 689 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-lsr-flex-algo' is defined on line 326, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-lsr-isis-srv6-extensions' is defined on line 333, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-lsr-ospfv3-srv6-extensions' is defined on line 341, but no explicit reference was found in the text == Unused Reference: 'RFC8200' is defined on line 348, but no explicit reference was found in the text == Unused Reference: 'RFC8660' is defined on line 358, but no explicit reference was found in the text == Unused Reference: 'RFC8665' is defined on line 364, but no explicit reference was found in the text == Unused Reference: 'RFC8666' is defined on line 370, but no explicit reference was found in the text == Unused Reference: 'RFC8667' is defined on line 374, but no explicit reference was found in the text == Unused Reference: 'RFC8754' is defined on line 380, but no explicit reference was found in the text == Outdated reference: A later version (-26) exists of draft-ietf-idr-segment-routing-te-policy-17 == Outdated reference: A later version (-06) exists of draft-ietf-lsr-algorithm-related-adjacency-sid-02 == Outdated reference: A later version (-26) exists of draft-ietf-lsr-flex-algo-20 == Outdated reference: A later version (-19) exists of draft-ietf-lsr-isis-srv6-extensions-18 == Outdated reference: A later version (-15) exists of draft-ietf-lsr-ospfv3-srv6-extensions-03 Summary: 0 errors (**), 0 flaws (~~), 15 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IDR Y. Liu 3 Internet-Draft S. Peng 4 Intended status: Standards Track ZTE 5 Expires: 7 December 2022 5 June 2022 7 Advertising SID Algorithm Information in BGP 8 draft-peng-idr-segment-routing-te-policy-attr-03 10 Abstract 12 This document proposes extensions of BGP and defines some new Segment 13 Types with algorithm information to meet more requirements when 14 delivering SR Policy via BGP. 16 Status of This Memo 18 This Internet-Draft is submitted in full conformance with the 19 provisions of BCP 78 and BCP 79. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF). Note that other groups may also distribute 23 working documents as Internet-Drafts. The list of current Internet- 24 Drafts is at https://datatracker.ietf.org/drafts/current/. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 This Internet-Draft will expire on 7 December 2022. 33 Copyright Notice 35 Copyright (c) 2022 IETF Trust and the persons identified as the 36 document authors. All rights reserved. 38 This document is subject to BCP 78 and the IETF Trust's Legal 39 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 40 license-info) in effect on the date of publication of this document. 41 Please review these documents carefully, as they describe your rights 42 and restrictions with respect to this document. Code Components 43 extracted from this document must include Revised BSD License text as 44 described in Section 4.e of the Trust Legal Provisions and are 45 provided without warranty as described in the Revised BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 50 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 51 3. New Segment Types for SR-MPLS Adjacency with optional 52 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 3 53 3.1. Type M: IPv4 Address and Local Interface ID with optional 54 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 3 55 3.2. Type N: IPv4 Addresses for link endpoints as Local, Remote 56 pair with optional Algorithm . . . . . . . . . . . . . . 4 57 3.3. Type O: IPv6 Prefix and Interface ID for link endpoints as 58 Local, Remote pair, with optional Algorithm for SR-MPLS . 5 59 3.4. Type P: IPv6 Addresses for link endpoints as Local, Remote 60 pair, with optional Algorithm for SR-MPLS . . . . . . . . 6 61 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 62 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 63 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 7 64 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 65 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 66 7.2. Informative References . . . . . . . . . . . . . . . . . 7 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 69 1. Introduction 71 Segment Routing (SR) [RFC8402] allows a headend node to steer a 72 packet flow along any path. [I-D.ietf-spring-segment-routing-policy] 73 details the concepts of SR Policy and steering into an SR Policy. 74 These apply equally to the MPLS and IPv6 data plane instantiations of 75 Segment Routing with their respective representations of segments as 76 SR-MPLS SID and SRv6 SID as described in [RFC8402]. 78 [I-D.ietf-idr-segment-routing-te-policy] specifies the way to use BGP 79 to distribute one or more of the candidate paths of an SR Policy to 80 the headend of that policy. It defines a new BGP address family 81 (SAFI), i.e., SR Policy SAFI NLRI. In UPDATE messages of that 82 address family, the NLRI identifies an SR Policy Candidate Path, and 83 the attributes encode the segment lists and other details of that SR 84 Policy Candidate Path. 11 Segment Types (from A to K) are defined to 85 encode SR-MPLS or SRv6 segments. 87 As specified in [I-D.ietf-idr-segment-routing-te-policy], the SR 88 algorithm can be optionally specified for Segment Types C(IPv4 Node 89 and SID), D(IPv6 Node and SID for SR-MPLS), I(IPv6 Node and SID for 90 SRv6), J(IPv6 Node, index for remote and local pair, and SID for 91 SRv6), and K(IPv6 Local/Remote addresses and SID for SRv6). That is, 92 currently the algorithm can be carried along with SR-MPLS prefix SID, 93 SRv6 prefix SID and SRv6 adjacency SID when delivering SR Policy via 94 BGP. 96 This document proposes extensions of BGP and defines some new Segment 97 Types with algorithm information to meet more requirements when 98 delivering SR Policy via BGP. 100 2. Requirements Language 102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 103 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 104 document are to be interpreted as described in [RFC2119]. 106 3. New Segment Types for SR-MPLS Adjacency with optional Algorithm 108 [I-D.ietf-lsr-algorithm-related-adjacency-sid] complements that 109 besides Prefix-SID, the algorithm can be also included as part of an 110 Adjacency-SID advertisement for SR-MPLS, in scenarios where multiple 111 algorithm share the same link resource. In this case, an SR-MPLS 112 Policy advertised to the headend may also contain algorithm specific 113 Adjacency-SID. 115 This section defines 4 new Segment Sub-TLVs of Segment List Sub-TLV 116 to provide algorithm information for SR-MPLS Adjacency-SID. 118 The processing procedures for SID with algorithm specified in 119 [I-D.ietf-spring-segment-routing-policy] and 120 [I-D.ietf-idr-segment-routing-te-policy] are still applicable for the 121 new segment types. When the algorithm is not specified for the SID 122 types above which optionally allow for it, the headend SHOULD use the 123 Strict Shortest Path algorithm if available; otherwise, it SHOULD use 124 the default Shortest Path algorithm. 126 3.1. Type M: IPv4 Address and Local Interface ID with optional 127 Algorithm 129 The Type M Segment Sub-TLV is similar with existed Type E Segment 130 Sub-TLV, it also encodes an IPv4 node address, a local interface 131 Identifier (Local Interface ID) and an optional SR-MPLS SID, but with 132 additional algorithm information. The format is as follows: 134 0 1 2 3 135 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 136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 | Type | Length | Flags | SR Algorithm | 138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 139 | Local Interface ID (4 octets) | 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 141 | IPv4 Node Address (4 octets) | 142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 143 | SR-MPLS SID (optional, 4 octets) | 144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 146 Where: 148 Type: TBD1 150 SR Algorithm: 1 octet specifying SR Algorithm as described in section 151 3.1.1 in [RFC8402] when A-Flag as defined in section 2.4.4.2.12 152 [I-D.ietf-idr-segment-routing-te-policy] is present. SR Algorithm is 153 used by SRPM as described in section 4 in 154 [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not 155 encoded, this field SHOULD be set to zero on transmission and MUST be 156 ignored on receipt. 158 Other fields have the same meaning as the existing Type E Segment 159 Sub-TLV. 161 3.2. Type N: IPv4 Addresses for link endpoints as Local, Remote pair 162 with optional Algorithm 164 The Type N Segment Sub-TLV is similar with existed Type F Segment 165 Sub-TLV, it also encodes an adjacency local address, an adjacency 166 remote address and an optional SR-MPLS SID, but with additional 167 algorithm information. The format is as follows: 169 0 1 2 3 170 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 171 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 172 | Type | Length | Flags | SR Algorithm | 173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 174 | Local IPv4 Address (4 octets) | 175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 176 | Remote IPv4 Address (4 octets) | 177 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 178 | SR-MPLS SID (optional, 4 octets) | 179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 181 Where: 183 Type: TBD2 185 SR Algorithm: 1 octet specifying SR Algorithm as described in section 186 3.1.1 in [RFC8402] when A-Flag as defined in section 2.4.4.2.12 187 [I-D.ietf-idr-segment-routing-te-policy] is present. SR Algorithm is 188 used by SRPM as described in section 4 in 189 [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not 190 encoded, this field SHOULD be set to zero on transmission and MUST be 191 ignored on receipt. 193 Other fields have the same meaning as existed Type F Segment Sub-TLV. 195 3.3. Type O: IPv6 Prefix and Interface ID for link endpoints as Local, 196 Remote pair, with optional Algorithm for SR-MPLS 198 The Type O Segment Sub-TLV is similar with existed Type G Segment 199 Sub-TLV, it also encodes an IPv6 Link Local adjacency with IPv6 local 200 node address, a local interface identifier (Local Interface ID), IPv6 201 remote node address , a remote interface identifier (Remote Interface 202 ID) and an optional SR-MPLS SID, but with additional algorithm 203 information. The format is as follows: 205 0 1 2 3 206 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 207 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 208 | Type | Length | Flags | SR Algorithm | 209 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 210 | Local Interface ID (4 octets) | 211 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 212 // IPv6 Local Node Address (16 octets) // 213 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 214 | Remote Interface ID (4 octets) | 215 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 216 // IPv6 Remote Node Address (16 octets) // 217 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 218 | SR-MPLS SID (optional, 4 octets) | 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 221 Where: 223 Type: TBD3 224 SR Algorithm: 1 octet specifying SR Algorithm as described in section 225 3.1.1 in [RFC8402] when A-Flag as defined in section 2.4.4.2.12 226 [I-D.ietf-idr-segment-routing-te-policy] is present. SR Algorithm is 227 used by SRPM as described in section 4 in 228 [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not 229 encoded, this field SHOULD be set to zero on transmission and MUST be 230 ignored on receipt. 232 Other fields have the same meaning as existed Type G Segment Sub-TLV. 234 3.4. Type P: IPv6 Addresses for link endpoints as Local, Remote pair, 235 with optional Algorithm for SR-MPLS 237 The Type P Segment Sub-TLV is similar with existed Type H Segment 238 Sub-TLV, it also encodes an adjacency local address, an adjacency 239 remote address and an optional SR-MPLS SID, but with additional 240 algorithm information. The format is as follows: 242 0 1 2 3 243 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 244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 245 | Type | Length | Flags | SR Algorithm | 246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 247 // Local IPv6 Address (16 octets) // 248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 249 // Remote IPv6 Address (16 octets) // 250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 251 | SR-MPLS SID (optional, 4 octets) | 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 Where: 256 Type: TBD4 258 SR Algorithm: 1 octet specifying SR Algorithm as described in section 259 3.1.1 in [RFC8402] when A-Flag as defined in section 2.4.4.2.12 260 [I-D.ietf-idr-segment-routing-te-policy] is present. SR Algorithm is 261 used by SRPM as described in section 4 in 262 [I-D.ietf-spring-segment-routing-policy]. When A-Flag is not 263 encoded, this field SHOULD be set to zero on transmission and MUST be 264 ignored on receipt. 266 Other fields have the same meaning as existed Type H Segment Sub-TLV. 268 4. IANA Considerations 270 This document requests codepoint allocations for new Segment Sub-TLVs 271 in the "SR Policy List Sub-TLVs" registry. 273 Value Description Reference 274 ------------------------------------------------------------------------ 275 TBD1 Segment Type M sub-TLV This document 276 TBD2 Segment Type N sub-TLV This document 277 TBD3 Segment Type O sub-TLV This document 278 TBD4 Segment Type P sub-TLV This document 280 5. Security Considerations 282 Procedures and protocol extensions defined in this document do not 283 affect the security considerations discussed in 284 [I-D.ietf-idr-segment-routing-te-policy]. 286 6. Acknowledgement 288 The authors would like to thank Ketan Talaulikar for his comments and 289 suggestions. 291 7. References 293 7.1. Normative References 295 [I-D.ietf-idr-segment-routing-te-policy] 296 Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., 297 Jain, D., and S. Lin, "Advertising Segment Routing 298 Policies in BGP", Work in Progress, Internet-Draft, draft- 299 ietf-idr-segment-routing-te-policy-17, 14 April 2022, 300 . 303 [I-D.ietf-spring-segment-routing-policy] 304 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 305 P. Mattes, "Segment Routing Policy Architecture", Work in 306 Progress, Internet-Draft, draft-ietf-spring-segment- 307 routing-policy-22, 22 March 2022, 308 . 311 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 312 Requirement Levels", BCP 14, RFC 2119, 313 DOI 10.17487/RFC2119, March 1997, 314 . 316 7.2. Informative References 318 [I-D.ietf-lsr-algorithm-related-adjacency-sid] 319 Peng, S., Chen, R., Talaulikar, K., and P. Psenak, 320 "Algorithm Related IGP-Adjacency SID Advertisement", Work 321 in Progress, Internet-Draft, draft-ietf-lsr-algorithm- 322 related-adjacency-sid-02, 18 January 2022, 323 . 326 [I-D.ietf-lsr-flex-algo] 327 Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and 328 A. Gulko, "IGP Flexible Algorithm", Work in Progress, 329 Internet-Draft, draft-ietf-lsr-flex-algo-20, 18 May 2022, 330 . 333 [I-D.ietf-lsr-isis-srv6-extensions] 334 Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and 335 Z. Hu, "IS-IS Extensions to Support Segment Routing over 336 IPv6 Dataplane", Work in Progress, Internet-Draft, draft- 337 ietf-lsr-isis-srv6-extensions-18, 20 October 2021, 338 . 341 [I-D.ietf-lsr-ospfv3-srv6-extensions] 342 Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, 343 "OSPFv3 Extensions for SRv6", Work in Progress, Internet- 344 Draft, draft-ietf-lsr-ospfv3-srv6-extensions-03, 19 345 November 2021, . 348 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 349 (IPv6) Specification", STD 86, RFC 8200, 350 DOI 10.17487/RFC8200, July 2017, 351 . 353 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 354 Decraene, B., Litkowski, S., and R. Shakir, "Segment 355 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 356 July 2018, . 358 [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., 359 Decraene, B., Litkowski, S., and R. Shakir, "Segment 360 Routing with the MPLS Data Plane", RFC 8660, 361 DOI 10.17487/RFC8660, December 2019, 362 . 364 [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, 365 H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF 366 Extensions for Segment Routing", RFC 8665, 367 DOI 10.17487/RFC8665, December 2019, 368 . 370 [RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions 371 for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, 372 December 2019, . 374 [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., 375 Bashandy, A., Gredler, H., and B. Decraene, "IS-IS 376 Extensions for Segment Routing", RFC 8667, 377 DOI 10.17487/RFC8667, December 2019, 378 . 380 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 381 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 382 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 383 . 385 Authors' Addresses 387 Yao Liu 388 ZTE 389 Nanjing 390 China 391 Email: liu.yao71@zte.com.cn 393 Shaofu Peng 394 ZTE 395 Nanjing 396 China 397 Email: peng.shaofu@zte.com.cn