idnits 2.17.00 (12 Aug 2021) /tmp/idnits21068/draft-wu-idr-bgp-segment-allocation-ext-09.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 (18 April 2022) is 26 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-flowspec-path-redirect' is defined on line 562, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-isis-segment-routing-extensions' is defined on line 569, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-rtgwg-bgp-routing-large-dc' is defined on line 585, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-segment-routing' is defined on line 592, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-segment-routing-ldp-interop' is defined on line 600, but no explicit reference was found in the text == Unused Reference: 'I-D.li-ospf-ospfv3-srv6-extensions' is defined on line 608, but no explicit reference was found in the text == Unused Reference: 'RFC5575' is defined on line 639, but no explicit reference was found in the text == Unused Reference: 'I-D.gredler-idr-bgp-ls-segment-routing-extension' is defined on line 657, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-idr-bgpls-segment-routing-epe' is defined on line 665, but no explicit reference was found in the text == Outdated reference: draft-ietf-isis-segment-routing-extensions has been published as RFC 8667 == Outdated reference: draft-ietf-rtgwg-bgp-routing-large-dc has been published as RFC 7938 ** Downref: Normative reference to an Informational draft: draft-ietf-rtgwg-bgp-routing-large-dc (ref. 'I-D.ietf-rtgwg-bgp-routing-large-dc') == Outdated reference: draft-ietf-spring-segment-routing has been published as RFC 8402 == Outdated reference: draft-ietf-spring-segment-routing-ldp-interop has been published as RFC 8661 ** Obsolete normative reference: RFC 5575 (Obsoleted by RFC 8955) == Outdated reference: draft-ietf-idr-bgpls-segment-routing-epe has been published as RFC 9086 Summary: 2 errors (**), 0 flaws (~~), 14 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IDR Working Group H. Chen 3 Internet-Draft Futurewei 4 Intended status: Standards Track Z. Li 5 Expires: 20 October 2022 Huawei 6 Z. Li 7 China Mobile 8 Y. Fan 9 Casa Systems 10 M. Toy 11 Verizon 12 L. Liu 13 Fujitsu 14 18 April 2022 16 BGP Extensions for IDs Allocation 17 draft-wu-idr-bgp-segment-allocation-ext-09 19 Abstract 21 This document describes extensions to the BGP for IDs allocation. 22 The IDs are SIDs for segment routing (SR), including SR for IPv6 23 (SRv6). They are distributed to their domains if needed. 25 Requirements Language 27 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 28 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 29 document are to be interpreted as described in RFC 2119 [RFC2119]. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on 20 October 2022. 48 Copyright Notice 50 Copyright (c) 2022 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 55 license-info) in effect on the date of publication of this document. 56 Please review these documents carefully, as they describe your rights 57 and restrictions with respect to this document. Code Components 58 extracted from this document must include Revised BSD License text as 59 described in Section 4.e of the Trust Legal Provisions and are 60 provided without warranty as described in the Revised BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 65 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 66 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 4 67 3.1. Node SID NLRI TLV . . . . . . . . . . . . . . . . . . . . 4 68 3.2. Link SID NLRI TLV . . . . . . . . . . . . . . . . . . . . 7 69 3.3. Prefix SID NLRI TLV . . . . . . . . . . . . . . . . . . . 10 70 3.4. Capability Negotiation . . . . . . . . . . . . . . . . . 11 71 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 72 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 73 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 74 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 75 7.1. Normative References . . . . . . . . . . . . . . . . . . 13 76 7.2. Informative References . . . . . . . . . . . . . . . . . 15 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 79 1. Introduction 81 In a network with a central controller, the controller has the link 82 state information of the network, including the resource such as 83 traffic enginerring and SIDs information. It is valuable for the 84 controller to allocate and manage the resources including SIDs of the 85 network in a centralized way, especially for the SIDs representing 86 network resources [I-D.ietf-teas-enhanced-vpn]. 88 When BGP as a controller allocates an ID, it is natural and 89 beneficial to extend BGP to send it to its corresponding network 90 elements. 92 PCE may be extended to send IDs to their corresponding network 93 elements after the IDs are allocated by a controller. However, when 94 BGP is already deployed in a network, using PCE for IDs will need to 95 deploy an extra protocol PCE in the network. This will increase the 96 CapEx and OpEx. 98 Yang may be extended to send IDs to their corresponding network 99 elements after the IDs are allocated by a controller. However, Yang 100 progress may be slow. Some people may not like this. 102 There may not be these issues when BGP is used to send IDs. In 103 addition, BGP may be used to distribute IDs into their domains easily 104 when needed. It is also fit for the dynamic and static allocation of 105 IDs. 107 This document proposes extensions to the BGP for sending Segment 108 Identifiers (SIDs) for segment routing (SR) including SRv6 to their 109 corresponding network elements after SIDs are allocated by the 110 controller. If needed, they will be distributed into their network 111 domains. 113 2. Terminology 115 The following terminology is used in this document. 117 SR: Segment Routing. 119 SRv6: SR for IPv6 121 SID: Segment Identifier. 123 IID: Indirection Identifier. 125 SR-Path: Segment Routing Path. 127 SR-Tunnel: Segment Routing Tunnel. 129 RR: Route Reflector. 131 MPP: MPLS Path Programming. 133 NAI: Node or Adjacency Identifier. 135 TED: Traffic Engineering Database. 137 3. Protocol Extensions 139 A new AFI and SAFI are defined: the Identifier AFI and the SID SAFI 140 whose codepoints are to be assigned by IANA. A few new NLRI TLVs are 141 defined for the new AFI/SAFI, which are Node, Link and Prefix SID 142 NLRI TLVs. When a SID for a node, link or prefix is allocated by the 143 controller, it may be sent to a network element in a UPDATE message 144 containing a MP_REACH NLRI with the new AFI/SAFI and the SID NLRI 145 TLV. When the SID is withdrawn by the controller, a UPDATE message 146 containing a MP_UNREACH NLRI with the new AFI/SAFI and the SID NLRI 147 TLV may be sent to the network element. 149 3.1. Node SID NLRI TLV 151 The Node SID NLRI TLV is used to represent the IDs such as SID 152 associated with a node. Its format is illustrated in the 153 Figure below, which is similar to the corresponding one defined in 154 [RFC7752]. 156 0 1 2 3 157 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 158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 159 | Type (TBDa for Node SID) | Length | 160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 161 | Protocol ID | 162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 163 | Identifier | 164 | (8 octets) | 165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 166 | Peer IP (4/16 bytes for IPv4/IPv6 Address) ~ 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 ~ Local Node Descriptors TLV ~ 169 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 170 ~ Sub-TLVs ~ 171 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 173 Where: 175 Type (TBDa): It is to be assigned by IANA. 177 Length: It is the length of the value field in bytes. 179 Peer IP: 4/16 octet value indicates an IPv4/IPv6 peer. When 180 receiving a UPDATE message, a BGP speaker processes it only if the 181 peer IP is the IP address of the BGP speaker or 0. 183 Protocol-ID, Identifier, and Local Node Descriptor: defined in 184 [RFC7752], can be reused. 186 Sub-TLVs may be some of the followings: 188 SR-Capabilities TLV (1034): It contains the Segment Routing Global 189 Base (SRGB) range(s) allocated for the node. 191 SR Local Block TLV (1036): The SR Local Block (SRLB) TLV contains 192 the range(s) of SIDs/labels allocated to the node for local SIDs. 194 SRv6 SID Node TLV (TBD1): A new TLV, called SRv6 Node SID TLV, 195 contains an SRv6 SID and related information. 197 SRv6 Locator TLV (TBD2): A new TLV, called SRv6 Locator TLV, 198 contains an SRv6 locator and related information. 200 The format of SRv6 SID Node TLV is illustrated below. 202 0 1 2 3 203 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 204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 205 | Type (TBD1) | Length | 206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 | Reserved | Flags | SRv6 Endpoint Function | 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 | SRv6 Identifier | 210 | (128 bits) | 211 | | 212 | | 213 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 214 | | 215 ~ Optional sub-TLVs ~ 216 | | 217 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 219 SRv6 Node SID TLV 221 Type: TBD1 for SRv6 Node SID TLV is to be assigned by IANA. 223 Length: Variable. 225 Flags: 1 octet. No flags are defined now. 227 SRv6 Endpoint Function: 2 octets. The function associated with SRv6 228 SID. 230 SRv6 Identifier: 16 octets. IPv6 address representing SRv6 SID. 232 Reserved: MUST be set to 0 while sending and ignored on receipt. 234 SRv6 node SID inherits the topology and algorithm from its locator. 236 The format of SRv6 locator TLV is illustrated below. 238 0 1 2 3 239 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 240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 241 | Type (TBD2) | Length | 242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 243 |R|R|R|R| MT-ID | Algorithm | Flags | 244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 245 | Metric | 246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 247 | Locator-Size | Locator (variable)... 248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 249 | | 250 ~ Optional sub-TLVs ~ 251 | | 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 SRv6 Locator TLV 256 Type: TBD2 for SRv6 Locator TLV is to be assigned by IANA. 258 Length: Variable. 260 MT-ID: Multitopology Identifier as defined in [RFC5120]. 262 Algorithm: 1 octet. Associated algorithm. 264 Flags: 1 octet. As described in 265 [I-D.ietf-lsr-isis-srv6-extensions]. 267 Metric: 4 octets. As described in [RFC5305]. 269 Locator-Size: 1 octet. Number of bits in the Locator field (1 to 270 128). 272 Locator: 1 to 16 octets. SRv6 Locator encoded in the minimum number 273 of octets for the given Locator-Size. 275 Reserved: MUST be set to 0 while sending and ignored on receipt. 277 3.2. Link SID NLRI TLV 279 The Link SID NLRI TLV is used to represent the IDs such as SID 280 associated with a link. Its format is illustrated in the 281 Figure below, which is similar to the corresponding one defined in 282 [RFC7752]. 284 0 1 2 3 285 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 286 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 287 | Type (TBDb for Link SID) | Length | 288 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 289 | Protocol ID | 290 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 291 ~ Identifier (8 octets) ~ 292 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 293 | Peer IP (4/16 bytes for IPv4/IPv6 Address) ~ 294 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 295 ~ Local Node Descriptors TLV ~ 296 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 297 ~ Remote Node Descriptors TLV ~ 298 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 299 ~ Link Descriptors TLV ~ 300 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 301 ~ Sub-TLVs ~ 302 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 304 Where: 306 Type (TBDb): It is to be assigned by IANA. 308 Length: It is the length of the value field in bytes. 310 Peer IP: 4/16 octet value indicates an IPv4/IPv6 peer. 312 Protocol-ID, Identifier, Local Node Descriptors, Remote Node 313 Descriptors and Link Descriptors: defined in [RFC7752], can be 314 reused. 316 The Sub-TLVs may be some of the followings: 318 Adj-SID TLV (1099): It contains the Segment Identifier (SID) 319 allocated for the link/adjacency. 321 LAN Adj-SID TLV (1100): It contains the Segment Identifier (SID) 322 allocated for the adjacency/link to a non-DR router on a 323 broadcast, NBMA, or hybrid link. 325 SRv6 Adj-SID TLV (TBD3): A new TLV, called SRv6 Adj-SID TLV, 326 contains an SRv6 Adj-SID and related information. 328 SRv6 LAN Adj-SID TLV (TBD4): A new TLV, called SRv6 LAN Adj-SID TLV, 329 contains an SRv6 LAN Adj-SID and related information. 331 The format of an SRv6 Adj-SID TLV is illustrated below. 333 0 1 2 3 334 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 335 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 336 | Type (TBD3) | Length | 337 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 338 | Weight | Algorithm |B|S|P| Flags | 339 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 340 | Reserved | SRv6 Endpoint Function | 341 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 342 | SRv6 Identifier | 343 | (128 bits) | 344 | | 345 | | 346 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 347 | | 348 ~ Optional sub-TLVs ~ 349 | | 350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 352 SRv6 Adj-SID TLV 354 Type: TBD3 for SRv6 Adj-SID TLV is to be assigned by IANA. 356 Length: Variable. 358 Weight: 1 octet. The value represents the weight of the SID for the 359 purpose of load balancing. 361 Algorithm: 1 octet. Associated algorithm. 363 Flags: 2 octets. Three flags are defined in 364 [I-D.ietf-lsr-isis-srv6-extensions]. 366 SRv6 Endpoint Function: 2 octets. The function associated with SRv6 367 SID. 369 SRv6 Identifier: 16 octets. IPv6 address representing SRv6 SID. 371 Reserved: MUST be set to 0 while sending and ignored on receipt. 373 The format of an SRv6 LAN Adj-SID TLV is illustrated below. 375 0 1 2 3 376 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 377 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 378 | Type (TBD4) | Length | 379 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 380 | Weight | Algorithm |B|S|P| Flags |O| 381 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 382 | Reserved | SRv6 Endpoint Function | 383 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 384 | neighbor Router ID (4 octets) / System ID (6 octets) ~ 385 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 386 | SRv6 Identifier | 387 | (128 bits) | 388 | | 389 | | 390 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 391 | | 392 ~ Optional sub-TLVs ~ 393 | | 394 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 396 SRv6 LAN Adj-SID TLV 398 Type: TBD4 for SRv6 LAN Adj-SID TLV is to be assigned by IANA. 400 Length: Variable. 402 Weight: 1 octet. The value represents the weight of the SID for the 403 purpose of load balancing. 405 Algorithm: 1 octet. Associated algorithm. 407 Flags: 2 octets. Three flags B, S and P are defined in 408 [I-D.ietf-lsr-isis-srv6-extensions]. Flag O set to 1 indicating 409 OSPF neighbor Router ID of 4 octets, set to 0 indicating IS-IS 410 neighbor System ID of 6 octets. 412 SRv6 Endpoint Function: 2 octets. The function associated with SRv6 413 SID. 415 SRv6 Identifier: 16 octets. IPv6 address representing SRv6 SID. 417 Reserved: MUST be set to 0 while sending and ignored on receipt. 419 3.3. Prefix SID NLRI TLV 421 The Prefix SID NLRI TLV is used to represent the IDs such as SID 422 associated with a prefix. Its format is illustrated in the 423 Figure below, which is similar to the corresponding one defined in 424 [RFC7752]. 426 0 1 2 3 427 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 428 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 429 | Type (TBDc for Prefix SID) | Length | 430 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 431 | Protocol ID | 432 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 433 ~ Identifier (8 octets) ~ 434 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 435 | Peer IP (4/16 bytes for IPv4/IPv6 Address) ~ 436 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 437 ~ Local Node Descriptors TLV ~ 438 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 439 ~ Prefix Descriptors TLV ~ 440 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 441 ~ Sub-TLVs ~ 442 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 444 Where: 446 Type (TBDc): It is to be assigned by IANA. 448 Length: It is the length of the value field in bytes. 450 Peer IP: 4/16 octet value indicates an IPv4/IPv6 peer. 452 Protocol-ID, Identifier, Local Node Descriptors and Prefix 453 Descriptors: defined in [RFC7752], can be reused. 455 Sub-TLVs may be some of the followings: 457 Prefix-SID TLV (1158): It contains the Segment Identifier (SID) 458 allocated for the prefix. 460 Prefix Range TLV (1159): It contains a range of prefixes and the 461 Segment Identifier (SID)s allocated for the prefixes. 463 3.4. Capability Negotiation 465 It is necessary to negotiate the capability to support BGP Extensions 466 for sending and receiving Segment Identifiers (SIDs). The BGP SID 467 Capability is a new BGP capability [RFC5492]. The Capability Code 468 for this capability is to be specified by the IANA. The Capability 469 Length field of this capability is variable. The Capability Value 470 field consists of one or more of the following tuples: 472 +--------------------------------------------------+ 473 | Address Family Identifier (2 octets) | 474 +--------------------------------------------------+ 475 | Subsequent Address Family Identifier (1 octet) | 476 +--------------------------------------------------+ 477 | Send/Receive (1 octet) | 478 +--------------------------------------------------+ 480 BGP SID Capability 482 The meaning and use of the fields are as follows: 484 Address Family Identifier (AFI): This field is the same as the one 485 used in [RFC4760]. 487 Subsequent Address Family Identifier (SAFI): This field is the same 488 as the one used in [RFC4760]. 490 Send/Receive: This field indicates whether the sender is (a) willing 491 to receive SID from its peer (value 1), (b) would like to send SID to 492 its peer (value 2), or (c) both (value 3) for the . 494 4. IANA Considerations 496 This document requests assigning a new AFI in the registry "Address 497 Family Numbers" as follows: 499 +-------------+---------------------+-------------+ 500 | Code Point | Description | Reference | 501 +-------------+---------------------+-------------+ 502 | TBDx | Identifier AFI |This document| 503 +-------------+---------------------+-------------+ 505 This document requests assigning a new SAFI in the registry 506 "Subsequent Address Family Identifiers (SAFI) Parameters" as follows: 508 +-------------+----------------------+-------------+ 509 | Code Point | Description | Reference | 510 +-------------+----------------------+-------------+ 511 | TBDy | SID SAFI |This document| 512 +-------------+----------------------+-------------+ 514 This document defines a new registry called "SID NLRI TLVs". The 515 allocation policy of this registry is "First Come First Served 516 (FCFS)" according to [RFC8126]. 518 Following TLV code points are defined: 520 +-------------+-----------------------------------+-------------+ 521 | Code Point | Description | Reference | 522 +-------------+-----------------------------------+-------------+ 523 | 1 (TBDa) | Node SID NLRI |This document| 524 +-------------+-----------------------------------+-------------+ 525 | 2 (TBDb) | Link SID NLRI |This document| 526 +-------------+-----------------------------------+-------------+ 527 | 3 (TBDc) | Prefix SID NLRI |This document| 528 +-------------+-----------------------------------+-------------+ 530 This document requests assigning a code-point from the registry "BGP- 531 LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 532 TLVs" as follows: 534 +----------------+-----------------------------------+-------------+ 535 | TLV Code Point | Description | Reference | 536 +----------------+-----------------------------------+-------------+ 537 | TBD1 | SRv6 Node SID |This document| 538 +----------------+-----------------------------------+-------------+ 539 | TBD2 | SRv6 Allocator |This document| 540 +----------------+-----------------------------------+-------------+ 541 | TBD3 | SRv6 Adj-SID |This document| 542 +----------------+-----------------------------------+-------------+ 543 | TBD4 | SRv6 LAN Adj-SID |This document| 544 +----------------+-----------------------------------+-------------+ 546 5. Security Considerations 548 Protocol extensions defined in this document do not affect the BGP 549 security other than those as discussed in the Security Considerations 550 section of [RFC7752]. 552 6. Acknowledgements 554 The authors would like to thank Eric Wu, Robert Raszuk, Zhengquiang 555 Li, and Ketan Talaulikar for their valuable suggestions and comments 556 on this draft. 558 7. References 560 7.1. Normative References 562 [I-D.ietf-idr-flowspec-path-redirect] 563 Velde, G. V. D., Patel, K., and Z. Li, "Flowspec 564 Indirection-id Redirect", Work in Progress, Internet- 565 Draft, draft-ietf-idr-flowspec-path-redirect-11, 26 May 566 2020, . 569 [I-D.ietf-isis-segment-routing-extensions] 570 Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., 571 Gredler, H., and B. Decraene, "IS-IS Extensions for 572 Segment Routing", Work in Progress, Internet-Draft, draft- 573 ietf-isis-segment-routing-extensions-25, 19 May 2019, 574 . 577 [I-D.ietf-lsr-isis-srv6-extensions] 578 Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and 579 Z. Hu, "IS-IS Extensions to Support Segment Routing over 580 IPv6 Dataplane", Work in Progress, Internet-Draft, draft- 581 ietf-lsr-isis-srv6-extensions-18, 20 October 2021, 582 . 585 [I-D.ietf-rtgwg-bgp-routing-large-dc] 586 Lapukhov, P., Premji, A., and J. Mitchell, "Use of BGP for 587 Routing in Large-Scale Data Centers", Work in Progress, 588 Internet-Draft, draft-ietf-rtgwg-bgp-routing-large-dc-11, 589 4 June 2016, . 592 [I-D.ietf-spring-segment-routing] 593 Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., 594 Litkowski, S., and R. Shakir, "Segment Routing 595 Architecture", Work in Progress, Internet-Draft, draft- 596 ietf-spring-segment-routing-15, 25 January 2018, 597 . 600 [I-D.ietf-spring-segment-routing-ldp-interop] 601 Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., and 602 S. Litkowski, "Segment Routing MPLS Interworking with 603 LDP", Work in Progress, Internet-Draft, draft-ietf-spring- 604 segment-routing-ldp-interop-15, 2 September 2018, 605 . 608 [I-D.li-ospf-ospfv3-srv6-extensions] 609 Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, 610 "OSPFv3 Extensions for SRv6", Work in Progress, Internet- 611 Draft, draft-li-ospf-ospfv3-srv6-extensions-07, 4 November 612 2019, . 615 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 616 Requirement Levels", BCP 14, RFC 2119, 617 DOI 10.17487/RFC2119, March 1997, 618 . 620 [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, 621 "Multiprotocol Extensions for BGP-4", RFC 4760, 622 DOI 10.17487/RFC4760, January 2007, 623 . 625 [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi 626 Topology (MT) Routing in Intermediate System to 627 Intermediate Systems (IS-ISs)", RFC 5120, 628 DOI 10.17487/RFC5120, February 2008, 629 . 631 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 632 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 633 2008, . 635 [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement 636 with BGP-4", RFC 5492, DOI 10.17487/RFC5492, February 637 2009, . 639 [RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J., 640 and D. McPherson, "Dissemination of Flow Specification 641 Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009, 642 . 644 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 645 S. Ray, "North-Bound Distribution of Link-State and 646 Traffic Engineering (TE) Information Using BGP", RFC 7752, 647 DOI 10.17487/RFC7752, March 2016, 648 . 650 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 651 Writing an IANA Considerations Section in RFCs", BCP 26, 652 RFC 8126, DOI 10.17487/RFC8126, June 2017, 653 . 655 7.2. Informative References 657 [I-D.gredler-idr-bgp-ls-segment-routing-extension] 658 Gredler, H., Ray, S., Previdi, S., Filsfils, C., Chen, M., 659 and J. Tantsura, "BGP Link-State extensions for Segment 660 Routing", Work in Progress, Internet-Draft, draft-gredler- 661 idr-bgp-ls-segment-routing-extension-02, 16 October 2014, 662 . 665 [I-D.ietf-idr-bgpls-segment-routing-epe] 666 Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, 667 S., and J. Dong, "Border Gateway Protocol - Link State 668 (BGP-LS) Extensions for Segment Routing BGP Egress Peer 669 Engineering", Work in Progress, Internet-Draft, draft- 670 ietf-idr-bgpls-segment-routing-epe-19, 16 May 2019, 671 . 674 [I-D.ietf-teas-enhanced-vpn] 675 Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A 676 Framework for Enhanced Virtual Private Network (VPN+) 677 Services", Work in Progress, Internet-Draft, draft-ietf- 678 teas-enhanced-vpn-10, 6 March 2022, 679 . 682 Authors' Addresses 684 Huaimo Chen 685 Futurewei 686 Boston, MA, 687 United States of America 688 Email: Huaimo.chen@futurewei.com 689 Zhenbin Li 690 Huawei 691 Huawei Bld., No.156 Beiqing Rd. 692 Beijing 693 100095 694 China 695 Email: lizhenbin@huawei.com 697 Zhenqiang Li 698 China Mobile 699 No. 29 Finance Street, Xicheng District 700 Beijing 701 100029 702 P.R. China 703 Email: li_zhenqiang@hotmail.com 705 Yanhe Fan 706 Casa Systems 707 United States of America 708 Email: yfan@casa-systems.com 710 Mehmet Toy 711 Verizon 712 United States of America 713 Email: mehmet.toy@verizon.com 715 Lei Liu 716 Fujitsu 717 United States of America 718 Email: liulei.kddi@gmail.com