idnits 2.17.1 draft-ietf-idr-bgpls-srv6-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 copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 10, 2021) is 896 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 (-19) exists of draft-ietf-lsr-isis-srv6-extensions-18 == Outdated reference: A later version (-15) exists of draft-ietf-lsr-ospfv3-srv6-extensions-02 ** Obsolete normative reference: RFC 7752 (Obsoleted by RFC 9552) == Outdated reference: A later version (-03) exists of draft-ietf-spring-srv6-yang-00 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Inter-Domain Routing G. Dawra 3 Internet-Draft LinkedIn 4 Intended status: Standards Track C. Filsfils 5 Expires: May 14, 2022 K. Talaulikar, Ed. 6 Cisco Systems 7 M. Chen 8 Huawei 9 D. Bernier 10 Bell Canada 11 B. Decraene 12 Orange 13 November 10, 2021 15 BGP Link State Extensions for SRv6 16 draft-ietf-idr-bgpls-srv6-ext-09 18 Abstract 20 Segment Routing over IPv6 (SRv6) allows for a flexible definition of 21 end-to-end paths within various topologies by encoding paths as 22 sequences of topological or functional sub-paths, called "segments". 23 These segments are advertised by various protocols such as BGP, IS-IS 24 and OSPFv3. 26 This document defines extensions to BGP Link-state (BGP-LS) to 27 advertise SRv6 segments along with their behaviors and other 28 attributes via BGP. The BGP-LS address-family solution for SRv6 29 described in this document is similar to BGP-LS for SR for the MPLS 30 data-plane defined in a separate document. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at https://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on May 14, 2022. 49 Copyright Notice 51 Copyright (c) 2021 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (https://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 67 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 68 2. BGP-LS Extensions for SRv6 . . . . . . . . . . . . . . . . . 4 69 3. SRv6 Node Attributes . . . . . . . . . . . . . . . . . . . . 5 70 3.1. SRv6 Capabilities TLV . . . . . . . . . . . . . . . . . . 5 71 3.2. SRv6 Node MSD Types . . . . . . . . . . . . . . . . . . . 6 72 4. SRv6 Link Attributes . . . . . . . . . . . . . . . . . . . . 6 73 4.1. SRv6 End.X SID TLV . . . . . . . . . . . . . . . . . . . 7 74 4.2. SRv6 LAN End.X SID TLV . . . . . . . . . . . . . . . . . 8 75 4.3. SRv6 Link MSD Types . . . . . . . . . . . . . . . . . . . 10 76 5. SRv6 Prefix Attributes . . . . . . . . . . . . . . . . . . . 10 77 5.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 10 78 6. SRv6 SID NLRI . . . . . . . . . . . . . . . . . . . . . . . . 12 79 6.1. SRv6 SID Information TLV . . . . . . . . . . . . . . . . 13 80 7. SRv6 SID Attributes . . . . . . . . . . . . . . . . . . . . . 14 81 7.1. SRv6 Endpoint Behavior TLV . . . . . . . . . . . . . . . 14 82 7.2. SRv6 BGP Peer Node SID TLV . . . . . . . . . . . . . . . 15 83 8. SRv6 SID Structure TLV . . . . . . . . . . . . . . . . . . . 16 84 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 85 9.1. BGP-LS NLRI-Types . . . . . . . . . . . . . . . . . . . . 17 86 9.2. BGP-LS TLVs . . . . . . . . . . . . . . . . . . . . . . . 17 87 9.3. SRv6 BGP EPE SID Flags . . . . . . . . . . . . . . . . . 18 88 10. Manageability Considerations . . . . . . . . . . . . . . . . 18 89 11. Security Considerations . . . . . . . . . . . . . . . . . . . 19 90 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 91 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 92 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 93 14.1. Normative References . . . . . . . . . . . . . . . . . . 21 94 14.2. Informative References . . . . . . . . . . . . . . . . . 22 95 Appendix A. Differences with BGP-EPE for SR-MPLS . . . . . . . . 23 96 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 98 1. Introduction 100 SRv6 refers to Segment Routing instantiated on the IPv6 data-plane 101 [RFC8402]. An SRv6 Segment is often referred to by its SRv6 Segment 102 Identifier (SID). 104 The network programming paradigm [RFC8986] is central to SRv6. It 105 describes how different behaviors can be bound to SIDs and how a 106 network program can be expressed as a combination of SIDs. 108 An SRv6-capable node N maintains all the SRv6 segments explicitly 109 instantiated at node N. 111 The IS-IS and OSPFv3 link-state routing protocols have been extended 112 to advertise some of these SRv6 SIDs and SRv6-related information 113 [I-D.ietf-lsr-isis-srv6-extensions], 114 [I-D.ietf-lsr-ospfv3-srv6-extensions]. Other SRv6 SIDs may be 115 instantiated on a node via other mechanisms for topological or 116 service functionalities. 118 The advertisement of SR related information along with the topology 119 for the MPLS data-plane instantiation (SR-MPLS) is specified in 120 [RFC9085] and for the BGP Egress Peer Engineering (EPE) is specified 121 in [RFC9086]. On similar lines, introducing the SRv6 related 122 information in BGP-LS allows consumer applications that require 123 topological visibility to also receive the SRv6 SIDs from nodes 124 across an IGP domain or even across Autonomous Systems (AS), as 125 required. This allows applications to leverage the SRv6 capabilities 126 for network programming. 128 The identifying key of each Link-State object, namely a node, link, 129 or prefix, is encoded in the Network-Layer Reachability Information 130 (NLRI) and the properties of the object are encoded in the BGP-LS 131 Attribute [RFC7752]. 133 This document describes extensions to BGP-LS to advertise the SRv6 134 SIDs and other SRv6 information from all the SRv6 capable nodes in 135 the IGP domain when sourced from link-state routing protocols and 136 directly from individual SRv6 capable nodes (e.g. when sourced from 137 BGP for EPE). 139 1.1. Requirements Language 141 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 142 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 143 "OPTIONAL" in this document are to be interpreted as described in BCP 144 14 [RFC2119] [RFC8174] when, and only when, they appear in all 145 capitals, as shown here. 147 2. BGP-LS Extensions for SRv6 149 BGP-LS [RFC7752] defines the Node, Link, and Prefix Link-State 150 Network Layer Reachability Information (NLRI) types and the 151 advertisement of their attributes via BGP. 153 When the BGP-LS router is advertising topology information that it 154 sources from the underlying link-state routing protocol (as described 155 in [RFC7752]), then it maps the corresponding SRv6 information from 156 the SRv6 extensions for IS-IS [I-D.ietf-lsr-isis-srv6-extensions] and 157 OSPFv3 [I-D.ietf-lsr-ospfv3-srv6-extensions] protocols to their BGP- 158 LS TLVs/sub-TLVs for all SRv6 capable nodes in that routing protocol 159 domain. When the BGP-LS router is advertising topology information 160 from the BGP routing protocol (e.g., for EPE as described in 161 [RFC9086]), then it advertises the SRv6 information from the local 162 node alone. 164 The SRv6 information pertaining to a node is advertised via the BGP- 165 LS Node NLRI and using the BGP-LS Attribute TLVs as follows: 167 o SRv6 Capabilities of the node are advertised via the SRv6 168 Capabilities TLV (Section 3.1). 170 o Maximum SID Depth (MSD) types introduced for SRv6 are advertised 171 (Section 3.2) using the Node MSD TLV specified in [RFC8814] 173 o Algorithm support for SRv6 is advertised via the SR Algorithm TLV 174 specified in [RFC9085]. 176 The SRv6 information pertaining to a link is advertised via the BGP- 177 LS Link NLRI and using the BGP-LS Attribute TLVs as follows: 179 o SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer Adjacency 180 SID [RFC8402] is advertised via the SRv6 End.X SID TLV introduced 181 in this document (Section 4.1). 183 o SRv6 SID of the IGP Adjacency SID to a non-Designated Router (DR) 184 or non-Designated Intermediate-System (DIS) [RFC8402] is 185 advertised via the SRv6 LAN End.X SID TLV introduced in this 186 document (Section 4.2). 188 o MSD types introduced for SRv6 are advertised (Section 4.3) using 189 the Link MSD TLV specified in [RFC8814]. 191 The SRv6 information pertaining to a prefix is advertised via the 192 BGP-LS Prefix NLRI and using the BGP-LS Attribute TLVs as follows: 194 o SRv6 Locator is advertised via the SRv6 Locator TLV introduced in 195 this document (Section 5.1). 197 o The attributes of the SRv6 Locator are advertised via the Prefix 198 Attribute Flags TLV specified in [RFC9085]. 200 The SRv6 SIDs associated with the node are advertised using the BGP- 201 LS SRv6 SID NLRI introduced in this document (Section 6). This 202 enables the BGP-LS encoding to scale to cover a potentially large set 203 of SRv6 SIDs instantiated on a node with the granularity of 204 individual SIDs and without affecting the size and scalability of the 205 BGP-LS updates. Had the SRv6 SIDs been advertised within the BGP-LS 206 Link Attribute associated with the existing Node NLRI, the BGP-LS 207 update would have grown rather large with the increase in SRv6 SIDs 208 on the node and would have also required a large update message to be 209 generated for any change to even a single SRv6 SID. BGP-LS Attribute 210 TLVs for the SRv6 SID NLRI are introduced in this document as 211 follows: 213 o The endpoint behavior of the SRv6 SID is advertised via the SRv6 214 Endpoint Behavior TLV (Section 7.1). 216 o The BGP EPE Peer Node context for a Peer Node, and the Peer Set 217 context for a Peer Set SID [RFC8402] are advertised via the SRv6 218 BGP EPE Peer Node SID TLV (Section 7.2), 220 Subsequent sections of this document specify the encoding and usage 221 of these extensions. All the TLVs introduced follow the formats and 222 common field definitions provided in [RFC7752]. 224 3. SRv6 Node Attributes 226 SRv6 attributes of a node are advertised using the BGP-LS Attribute 227 TLVs defined in this section and associated with the BGP-LS Node 228 NLRI. 230 3.1. SRv6 Capabilities TLV 232 This BGP-LS Attribute TLV is used to announce the SRv6 capabilities 233 of the node along with the BGP-LS Node NLRI and indicates the SRv6 234 support by the node. A single instance of this TLV MUST be included 235 in the BGP-LS attribute for each SRv6 capable node. This TLV maps 236 from the SRv6 Capabilities sub-TLV 237 [I-D.ietf-lsr-isis-srv6-extensions] and the SRv6 Capabilities TLV 238 [I-D.ietf-lsr-ospfv3-srv6-extensions] of the IS-IS and OSPFv3 239 protocol SRv6 extensions respectively. Any sub-TLVs introduced by 240 future documents for IS-IS and OSPFv3 SRv6 Capabilities are REQUIRED 241 to be introduced as top-level TLVs in BGP-LS in the future. 243 0 1 2 3 244 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 245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 246 | Type | Length | 247 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 248 | Flags | Reserved | 249 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 251 Figure 1: SRv6 Capabilities TLV Format 253 Where: 255 o Type: 1038 257 o Length : 4. 259 o Flags: 2 octet field. The flags are derived from the SRv6 260 Capabilities sub-TLV/TLV of IS-IS (section 2 of 261 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 2 of 262 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 264 o Reserved: 2 octet that MUST be set to 0 and ignored on receipt. 266 3.2. SRv6 Node MSD Types 268 The Node MSD TLV [RFC8814] of the BGP-LS Attribute of the Node NLRI 269 is also used to advertise the limits and the Segment Routing Header 270 (SRH) [RFC8754] operations supported by the SRv6 capable node. The 271 SRv6 MSD Types specified in section 4 of 272 [I-D.ietf-lsr-isis-srv6-extensions] are also used with the BGP-LS 273 Node MSD TLV as these codepoints are shared between IS-IS, OSPF and 274 BGP-LS protocols. The description and semantics of these new MSD 275 types for BGP-LS are identical as specified in 276 [I-D.ietf-lsr-isis-srv6-extensions]. 278 Each MSD type is encoded as a one-octet type followed by a one-octet 279 value as specified in [RFC8814]. 281 4. SRv6 Link Attributes 283 SRv6 attributes and SIDs associated with a link or adjacency are 284 advertised using the BGP-LS Attribute TLVs defined in this section 285 and associated with the BGP-LS Link NLRI. 287 4.1. SRv6 End.X SID TLV 289 The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs associated 290 with an IGP Adjacency SID behavior that correspond to a point-to- 291 point or point-to-multipoint link or adjacency of the node running 292 IS-IS and OSPFv3 protocols. This TLV can also be used to advertise 293 the SRv6 SID corresponding to the underlying layer-2 member links for 294 a layer-3 bundle interface as a sub-TLV of the L2 Bundle Member 295 Attribute TLV [RFC9085]. The SRv6 SID for the IGP adjacency using 296 the End.X behaviors (viz. End.X, End.X with Penultimate Segment Pop 297 of the SRH (PSP), End.X with Ultimate Segment Pop of the SRH (USP), 298 and End.X with PSP & USP) [RFC8986] are advertised using the SRv6 299 End.X SID TLV. 301 This TLV is also used by BGP-LS to advertise the BGP EPE Peer 302 Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in 303 [RFC9086]. The SRv6 SID for the BGP Peer Adjacency using End.X 304 behaviors (viz. End.X, End.X with PSP, End.X with USP, and End.X 305 with PSP & USP) [RFC8986] indicates the cross-connect to a specific 306 layer-3 link to the specific BGP session peer (neighbor). 308 The TLV has the following format: 310 0 1 2 3 311 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 312 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 313 | Type | Length | 314 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 315 | Endpoint Behavior | Flags | Algorithm | 316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 317 | Weight | Reserved | SID (16 octets) ... | 318 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 319 | SID (cont ...) | 320 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 321 | SID (cont ...) | 322 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 323 | SID (cont ...) | 324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 325 | SID (cont ...) | Sub-TLVs (variable) . . . 326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 328 Figure 2: SRv6 End.X TLV Format 330 Where: 332 Type: 1106 333 Length: variable 335 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 336 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 338 Flags: 1 octet of flags. The flags are derived from the SRv6 339 End.X SID sub-TLV/TLV of IS-IS (section 8.1 of 340 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 8.1 of 341 [I-D.ietf-lsr-ospfv3-srv6-extensions]). In the case of BGP EPE 342 Peer Adjacency SID, the flags are as defined for the SRv6 BGP Peer 343 Node SID TLV (Section 7.2). 345 Algorithm: 1 octet field. Algorithm associated with the SID. 346 Algorithm values are defined in the IANA IGP Algorithm Type 347 registry (https://www.iana.org/assignments/igp-parameters/igp- 348 parameters.xhtml). 350 Weight: 1 octet field. The value represents the weight of the SID 351 for the purpose of load balancing. The use of the weight is 352 defined in [RFC8402]. 354 Reserved: 1 octet field that MUST be set to 0 and ignored on 355 receipt. 357 SID: 16 octet field. This field encodes the advertised SRv6 SID 358 as 128 bit value. 360 Sub-TLVs : They are allocated from the IANA "BGP-LS Node 361 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 362 TLVs" registry and are used to advertise sub-TLVs that provide 363 additional attributes for the specific SRv6 SID. This document 364 defines one inSection 8. 366 4.2. SRv6 LAN End.X SID TLV 368 For a LAN interface, an IGP node announces normally only its 369 adjacency to the IS-IS pseudo-node (or the equivalent OSPF DR). The 370 SRv6 LAN End.X SID TLV allows a node to announce the SRv6 SID 371 corresponding to its adjacencies to all other (i.e., non-DIS or non- 372 DR) nodes attached to the LAN in a single instance of the BGP-LS Link 373 NLRI. Without this TLV, multiple BGP-LS Link NLRIs would need to be 374 originated for each additional adjacency to advertise the SRv6 End.X 375 SID TLVs for these neighbor adjacencies. The SRv6 SID for these IGP 376 adjacencies using the End.X behaviors (viz. End.X, End.X with PSP, 377 End.X with USP, and End.X with PSP & USP) [RFC8986] are advertised 378 using the SRv6 LAN End.X SID TLV. 380 The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN End.X 381 SID TLVs have the following format: 383 0 1 2 3 384 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 385 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 386 | Type | Length | 387 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 388 | Endpoint Behavior | Flags | Algorithm | 389 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 390 | Weight | Reserved | Neighbor ID - | 391 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 392 | IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | 393 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 394 | SID (16 octets) ... | 395 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 396 | SID (cont ...) | 397 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 398 | SID (cont ...) | 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 | SID (cont ...) | 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 | Sub-TLVs (variable) . . . 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 405 Figure 3: SRv6 LAN End.X SID TLV Format 407 Where: 409 o Type: 1107 in case of IS-IS and 1108 in case of OSPFv3 411 o Length: variable 413 o Endpoint Behavior: 2 octet field. The Endpoint Behavior code 414 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 416 o Flags: 1 octet of flags. The flags are derived from the SRv6 LAN 417 End.X SID sub-TLV/TLV of IS-IS (section 8.2 of 418 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 8.2 of 419 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 421 o Algorithm: 1 octet field. Algorithm associated with the SID. 422 Algorithm values are defined in the IANA IGP Algorithm Type 423 registry (https://www.iana.org/assignments/igp-parameters/igp- 424 parameters.xhtml). 426 o Weight: 1 octet field. The value represents the weight of the SID 427 for the purpose of load balancing. The use of the weight is 428 defined in [RFC8402]. 430 o Reserved: 1 octet field that MUST be set to 0 and ignored on 431 receipt. 433 o Neighbor ID : 6 octets of IS-IS System ID of the neighbor for the 434 IS-IS SRv6 LAN End.X SID TLV and 4 octets of OSPFv3 Router-id of 435 the neighbor for the OSPFv3 SRv6 LAN End.X SID TLV. 437 o SID: 16 octet field. This field encodes the advertised SRv6 SID 438 as 128 bit value. 440 o Sub-TLVs : They are allocated from the IANA "BGP-LS Node 441 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 442 TLVs" registry and are used to advertise sub-TLVs that provide 443 additional attributes for the specific SRv6 SID. This document 444 defines one inSection 8. 446 4.3. SRv6 Link MSD Types 448 The Link MSD TLV [RFC8814] of the BGP-LS Attribute of the Link NLRI 449 is also used to advertise the limits and the SRH operations supported 450 on the specific link by the SRv6 capable node. The SRv6 MSD Types 451 specified in section 4 of[I-D.ietf-lsr-isis-srv6-extensions] are also 452 used with the BGP-LS Link MSD TLV as these codepoints are shared 453 between IS-IS, OSPF, and BGP-LS protocols. The description and 454 semantics of these new MSD types for BGP-LS are identical as 455 specified in [I-D.ietf-lsr-isis-srv6-extensions]. 457 Each MSD type is encoded as a one-octet type followed by a one-octet 458 value as specified in [RFC8814]. 460 5. SRv6 Prefix Attributes 462 SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS 463 Attribute TLVs defined in this section and associated with the BGP-LS 464 Prefix NLRI. 466 5.1. SRv6 Locator TLV 468 As specified in [RFC8986], an SRv6 SID comprises Locator, Function 469 and Argument parts. 471 A node is provisioned with one or more locators supported by that 472 node. Locators are covering prefixes for the set of SIDs provisioned 473 on that node. These Locators are advertised as BGP-LS Prefix NLRI 474 objects along with the SRv6 Locator TLV in its BGP-LS Attribute. 476 The IPv6 Prefix matching the Locator MAY be also advertised as a 477 prefix reachability by the underlying routing protocol. In this 478 case, the Prefix NLRI would be also associated with the Prefix Metric 479 TLV that carries the routing metric for this prefix. When the 480 Locator prefix is not being advertised as a prefix reachability, then 481 the Prefix NLRI would have the SRv6 Locator TLV associated with it 482 but no Prefix Metric TLV. In the absence of Prefix Metric TLV, the 483 consumer of the BGP-LS topology information MUST NOT interpret the 484 Locator prefix as a prefix reachability routing advertisement in the 485 IGPs default SPF computation. 487 The SRv6 Locator TLV has the following format: 489 0 1 2 3 490 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 491 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 492 | Type | Length | 493 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 494 | Flags | Algorithm | Reserved | 495 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 496 | Metric | 497 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 498 | Sub-TLVs (variable) . . . 499 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 501 Figure 4: SRv6 Locator TLV Format 503 Where: 505 Type: 1162 507 Length: variable 509 Flags: 1 octet of flags. The flags are derived from the SRv6 510 Locator TLV of IS-IS (section 7.1 of 511 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 6.1 of 512 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 514 Algorithm: 1 octet field. Algorithm associated with the SID. 515 Algorithm values are defined in the IANA IGP Algorithm Type 516 registry (https://www.iana.org/assignments/igp-parameters/igp- 517 parameters.xhtml). 519 Reserved: 2 octet field. The value MUST be set to 0 and ignored 520 on receipt. 522 Metric: 4 octet field. The value of the metric for the Locator. 524 Sub-TLVs : They are allocated from the IANA "BGP-LS Node 525 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 526 TLVs" registry and are used to advertise sub-TLVs that provide 527 additional attributes for the given SRv6 Locator. Currently none 528 are defined. 530 6. SRv6 SID NLRI 532 SRv6 SID information is advertised in BGP UPDATE messages using the 533 MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. The "Link- 534 State NLRI" defined in [RFC7752] is extended to carry the SRv6 SID 535 information. 537 A new "Link-State NLRI Type" is defined for SRv6 SID information as 538 following: 540 o Link-State NLRI Type: SRv6 SID NLRI (value 6). 542 The format of this new NLRI type is as shown in the following figure: 544 0 1 2 3 545 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 546 +-+-+-+-+-+-+-+-+ 547 | Protocol-ID | 548 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 549 | Identifier | 550 | (8 octets) | 551 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 552 | Local Node Descriptors (variable) // 553 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 554 | SRv6 SID Descriptors (variable) // 555 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 557 Figure 5: SRv6 SID NLRI Format 559 Where: 561 o Protocol-ID: 1 octet field that specifies the protocol component 562 through which BGP-LS learns the SRv6 SIDs of the node. The BGP-LS 563 Protocol-ID registry was created by [RFC7752] and then additional 564 assignments were made for other BGP-LS extensions. 566 o Identifier: 8 octet value as defined in [RFC7752]. 568 o Local Node Descriptors TLV: as defined in [RFC7752] for IGPs, 569 local and static configuration and as defined in [RFC9086] for BGP 570 protocol. 572 o SRv6 SID Descriptors: MUST include a single SRv6 SID Information 573 TLV defined in Section 6.1 and optionally MAY include the Multi- 574 Topology Identifier TLV as defined in [RFC7752]. 576 New TLVs for advertisement within the BGP Link State Attribute 577 [RFC7752] are defined in Section 7 to carry the attributes of an SRv6 578 SID. 580 6.1. SRv6 SID Information TLV 582 An SRv6 SID is encoded using the SRv6 SID Information TLV. 584 The TLV has the following format: 586 0 1 2 3 587 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 588 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 589 | Type | Length | 590 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 591 | SID (16 octets) ... | 592 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 593 | SID (cont ...) | 594 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 595 | SID (cont ...) | 596 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 597 | SID (cont ...) | 598 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 600 Figure 6: SRv6 SID Information TLV Format 602 Where: 604 Type: 518 606 Length: 16. 608 SID: 16 octet field. This field encodes the advertised SRv6 SID 609 as 128 bit value. 611 7. SRv6 SID Attributes 613 This section specifies the TLVs to be carried in the BGP Link State 614 Attribute associated with the BGP-LS SRv6 SID NLRI. 616 7.1. SRv6 Endpoint Behavior TLV 618 Each SRv6 SID instantiated on an SRv6 capable node has specific 619 instructions (called behavior) bound to it. [RFC8986] describes how 620 behaviors are bound to a SID and also defines the initial set of 621 well-known behaviors. 623 The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be 624 included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID 625 NLRI. The TLV has the following format: 627 0 1 2 3 628 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 629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 630 | Type | Length | 631 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 632 | Endpoint Behavior | Flags | Algorithm | 633 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 635 Figure 7: SRv6 Endpoint Behavior TLV 637 Where: 639 Type: 1250 641 Length: 4. 643 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 644 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 646 Flags: 1 octet of flags with the none defined currently. Reserved 647 for future use and MUST be set to 0 and ignored on receipt. 649 Algorithm: 1 octet field. Algorithm associated with the SID. 650 Algorithm values are defined in the IGP Algorithm Type registry 651 (https://www.iana.org/assignments/igp-parameters/igp- 652 parameters.xhtml). 654 7.2. SRv6 BGP Peer Node SID TLV 656 The BGP Peer Node SID and Peer Set SID for SR-MPLS are specified in 657 [RFC9086]. Similar Peer Node and Peer Set functionality can be 658 realized with SRv6 using SIDs with END.X behavior. The SRv6 BGP Peer 659 Node SID TLV is a mandatory TLV for use in the BGP-LS Attribute for 660 an SRv6 SID NLRI advertised by BGP for the EPE functionality. This 661 TLV MUST be included along with SRv6 SIDs that are associated with 662 the BGP Peer Node or Peer Set functionality. 664 The TLV has the following format: 666 0 1 2 3 667 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 668 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 669 | Type | Length | 670 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 671 | Flags | Weight | Reserved | 672 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 673 | Peer AS Number | 674 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 675 | Peer BGP Identifier | 676 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 678 Figure 8: SRv6 BGP Peer Node SID TLV Format 680 Where: 682 o Type: 1251 684 o Length: 12 686 o Flags: 1 octet of flags with the following definition (also refer 687 to Section 9.3 for IANA registry): 689 0 1 2 3 4 5 6 7 690 +-+-+-+-+-+-+-+-+ 691 |B|S|P| Reserved| 692 +-+-+-+-+-+-+-+-+ 694 Figure 9: SRv6 BGP EPE SID Flags Format 696 * B-Flag: Backup Flag. If set, the SID is eligible for 697 protection (e.g. using IPFRR) as described in [RFC8355]. 699 * S-Flag: Set Flag. When set, the S-Flag indicates that the SID 700 refers to a set of BGP peering sessions (i.e. BGP Peer Set SID 701 functionality) and therefore MAY be assigned to one or more 702 End.X SIDs associated with BGP peer sessions. 704 * P-Flag: Persistent Flag: When set, the P-Flag indicates that 705 the SID is persistently allocated, i.e., the value remains 706 consistent across router restart and/or session flap. 708 * Other bits are reserved for future use and MUST be set to 0 and 709 ignored on receipt. 711 o Weight: 1 octet field. The value represents the weight of the SID 712 for the purpose of load balancing. The use of the weight is 713 defined in [RFC8402]. 715 o Reserved: 2 octet field. The value MUST be set to 0 and ignored 716 on receipt. 718 o Peer AS Number : 4 octets of BGP AS number of the peer router. 720 o Peer BGP Identifier : 4 octets of the BGP Identifier (BGP Router- 721 ID) of the peer router. 723 For an SRv6 BGP EPE Peer Node SID, one instance of this TLV is 724 associated with the SRv6 SID. For SRv6 BGP EPE Peer Set SID, 725 multiple instances of this TLV (one for each peer in the "peer set") 726 are associated with the SRv6 SID and the S (set/group) flag is SET. 728 8. SRv6 SID Structure TLV 730 The SRv6 SID Structure TLV is used to advertise the length of each 731 individual part of the SRv6 SID as defined in [RFC8986]. It is an 732 optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI and 733 as a sub-TLV of the SRv6 End.X, IS-IS SRv6 LAN End.X and OSPFv3 SRv6 734 LAN End.X TLVs. The TLV has the following format: 736 0 1 2 3 737 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 738 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 739 | Type | Length | 740 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 741 | LB Length | LN Length | Fun. Length | Arg. Length | 742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 744 Figure 10: SRv6 SID Structure TLV 746 Where: 748 Type: 1252 750 Length: 4 752 Locator Block Length: 1 octet field. SRv6 SID Locator Block 753 length in bits. 755 Locator Node Length: 1 octet field. SRv6 SID Locator Node length 756 in bits. 758 Function Length: 1 octet field. SRv6 SID Function length in bits. 760 Argument Length: 1 octet field. SRv6 SID Argument length in bits. 762 The total of the locator block, locator node, function, and argument 763 lengths MUST be less than or equal to 128. 765 9. IANA Considerations 767 This document requests assigning code-points from the IANA "Border 768 Gateway Protocol - Link State (BGP-LS) Parameters" registry as 769 described in the sub-sections below. 771 9.1. BGP-LS NLRI-Types 773 The following codepoints are assigned by IANA via the early 774 allocation process from within the sub-registry called "BGP-LS NLRI- 775 Types": 777 +------+----------------------------+---------------+ 778 | Type | NLRI Type | Reference | 779 +------+----------------------------+---------------+ 780 | 6 | SRv6 SID | this document | 781 +------+----------------------------+---------------+ 783 Figure 11: SRv6 SID NLRI Type Codepoint 785 9.2. BGP-LS TLVs 787 The following TLV codepoints are assigned by IANA via the early 788 allocation process from within the sub-registry called "BGP-LS Node 789 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs": 791 +----------+----------------------------------------+---------------+ 792 | TLV Code | Description | Value defined | 793 | Point | | in | 794 +----------+----------------------------------------+---------------+ 795 | 518 | SRv6 SID Information TLV | this document | 796 | 1038 | SRv6 Capabilities TLV | this document | 797 | 1106 | SRv6 End.X SID TLV | this document | 798 | 1107 | IS-IS SRv6 LAN End.X SID TLV | this document | 799 | 1108 | OSPFv3 SRv6 LAN End.X SID TLV | this document | 800 | 1162 | SRv6 Locator TLV | this document | 801 | 1250 | SRv6 Endpoint Behavior TLV | this document | 802 | 1251 | SRv6 BGP Peer Node SID TLV | this document | 803 | 1252 | SRv6 SID Structure TLV | this document | 804 +----------+----------------------------------------+---------------+ 806 Figure 12: SRv6 BGP-LS Attribute TLV Codepoints 808 9.3. SRv6 BGP EPE SID Flags 810 This document requests the creation of a new registry called "SRv6 811 BGP EPE SID Flags" under the "Border Gateway Protocol - Link State 812 (BGP-LS) Parameters" registry. The allocation policy of this 813 registry is "Standards Action" according to [RFC8126]. 815 The following flags are defined: 817 Bit Description Reference 818 --------------------------------------------------- 819 0 Backup Flag (B-Flag) This document 820 1 Set Flag (S-Flag) This document 821 2 Persistent Flag (P-Flag) This document 822 3-7 Unassigned 824 10. Manageability Considerations 826 This section is structured as recommended in [RFC5706]. 828 The new protocol extensions introduced in this document augment the 829 existing IGP topology information that is distributed via [RFC7752]. 830 Procedures and protocol extensions defined in this document do not 831 affect the BGP protocol operations and management other than as 832 discussed in the Manageability Considerations section of [RFC7752]. 833 Specifically, the malformed attribute tests for syntactic checks in 834 the Fault Management section of [RFC7752] now encompass the new BGP- 835 LS extensions defined in this document. The semantic or content 836 checking for the TLVs specified in this document and their 837 association with the BGP-LS NLRI types or their BGP-LS Attribute is 838 left to the consumer of the BGP-LS information (e.g., an application 839 or a controller) and not the BGP protocol. 841 A consumer of the BGP-LS information retrieves this information over 842 a BGP-LS session (refer Section 1 and 2 of [RFC7752]). The handling 843 of semantic or content errors by the consumer would be dictated by 844 the nature of its application usage and hence is beyond the scope of 845 this document. 847 The SR information introduced in BGP-LS by this specification may be 848 used by BGP-LS consumer applications like an SR path computation 849 engine (PCE) to learn the SRv6 capabilities of the nodes in the 850 topology and the mapping of SRv6 segments to those nodes. This can 851 enable the SR PCE to perform path computations based on SR for 852 traffic engineering use-cases and to steer traffic on paths different 853 from the underlying IGP based distributed best path computation. 854 Errors in the encoding or decoding of the SRv6 information may result 855 in the unavailability of such information to the SR PCE or incorrect 856 information being made available to it. This may result in the SR 857 PCE not being able to perform the desired SR-based optimization 858 functionality or to perform it in an unexpected or inconsistent 859 manner. The handling of such errors by applications like SR PCE may 860 be implementation-specific and out of the scope of this document. 862 The manageability considerations related to BGP EPE functionality are 863 discussed in [RFC9086] in the context of SR-MPLS and they also apply 864 to this document in the context of SRv6. 866 The extensions, specified in this document, do not introduce any new 867 configuration or monitoring aspects in BGP or BGP-LS other than as 868 discussed in [RFC7752]. The manageability aspects of the underlying 869 SRv6 features are covered by [I-D.ietf-spring-srv6-yang]. 871 11. Security Considerations 873 The new protocol extensions introduced in this document augment the 874 existing IGP topology information that is distributed via [RFC7752]. 875 The advertisement of the SRv6 link-state information defined in this 876 document presents a similar risk as associated with the existing set 877 of link-state information as described in [RFC7752]. The Security 878 Considerations section of [RFC7752] also applies to these extensions. 879 The procedures and new TLVs defined in this document, by themselves, 880 do not affect the BGP-LS security model discussed in [RFC7752]. 882 The extensions introduced in this document are used to propagate IGP 883 defined information ([I-D.ietf-lsr-isis-srv6-extensions] and 884 [I-D.ietf-lsr-ospfv3-srv6-extensions]). These extensions represent 885 the advertisement of SRv6 information associated with the IGP node, 886 link, and prefix. The IGP instances originating these TLVs are 887 assumed to support all the required security and authentication 888 mechanisms (as described in [I-D.ietf-lsr-isis-srv6-extensions] and 889 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in order to prevent any 890 security issue when propagating the information into BGP-LS. 892 The security considerations related to BGP EPE functionality are 893 discussed in [RFC9086] in the context of SR-MPLS and they also apply 894 to this document in the context of SRv6. 896 BGP-LS SRv6 extensions enable traffic engineering use-cases within 897 the Segment Routing domain. SR operates within a trusted domain 898 [RFC8402] and its security considerations also apply to BGP-LS 899 sessions when carrying SR information. The SR traffic engineering 900 policies using the SIDs advertised via BGP-LS are expected to be used 901 entirely within this trusted SR domain (e.g., between multiple AS or 902 IGP domains within a single provider network). Therefore, precaution 903 is necessary to ensure that the link-state information (including 904 SRv6 information) advertised via BGP-LS sessions is limited to 905 consumers in a secure manner within this trusted SR domain. BGP 906 peering sessions for address-families other than Link-State may be 907 set up to routers outside the SR domain. The isolation of BGP-LS 908 peering sessions is recommended to ensure that BGP-LS topology 909 information (including the newly added SR information) is not 910 advertised to an external BGP peering session outside the SR domain. 912 12. Contributors 914 James Uttaro 915 AT&T 916 USA 917 Email: ju1738@att.com 919 Hani Elmalky 920 Ericsson 921 USA 922 Email: hani.elmalky@gmail.com 924 Arjun Sreekantiah 925 Individual 926 USA 927 Email: arjunhrs@gmail.com 929 Les Ginsberg 930 Cisco Systems 931 USA 932 Email: ginsberg@cisco.com 933 Shunwan Zhuang 934 Huawei 935 China 936 Email: zhuangshunwan@huawei.com 938 13. Acknowledgements 940 The authors would like to thank Peter Psenak, Arun Babu, Pablo 941 Camarillo, Francois Clad, Peng Shaofu, Cheng Li, Dhruv Dhody, Tom 942 Petch, and Dan Romascanu for their review of this document and their 943 comments. The authors would also like to thanks Susan Hares for her 944 shepherd review and Adrian Farrel for his detailed Routing 945 Directorate review. 947 14. References 949 14.1. Normative References 951 [I-D.ietf-lsr-isis-srv6-extensions] 952 Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and 953 Z. Hu, "IS-IS Extensions to Support Segment Routing over 954 IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-18 955 (work in progress), October 2021. 957 [I-D.ietf-lsr-ospfv3-srv6-extensions] 958 Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, 959 "OSPFv3 Extensions for SRv6", draft-ietf-lsr- 960 ospfv3-srv6-extensions-02 (work in progress), February 961 2021. 963 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 964 Requirement Levels", BCP 14, RFC 2119, 965 DOI 10.17487/RFC2119, March 1997, 966 . 968 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 969 S. Ray, "North-Bound Distribution of Link-State and 970 Traffic Engineering (TE) Information Using BGP", RFC 7752, 971 DOI 10.17487/RFC7752, March 2016, 972 . 974 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 975 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 976 May 2017, . 978 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 979 Decraene, B., Litkowski, S., and R. Shakir, "Segment 980 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 981 July 2018, . 983 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 984 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 985 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 986 . 988 [RFC8814] Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., 989 and N. Triantafillis, "Signaling Maximum SID Depth (MSD) 990 Using the Border Gateway Protocol - Link State", RFC 8814, 991 DOI 10.17487/RFC8814, August 2020, 992 . 994 [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, 995 D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 996 (SRv6) Network Programming", RFC 8986, 997 DOI 10.17487/RFC8986, February 2021, 998 . 1000 [RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, 1001 H., and M. Chen, "Border Gateway Protocol - Link State 1002 (BGP-LS) Extensions for Segment Routing", RFC 9085, 1003 DOI 10.17487/RFC9085, August 2021, 1004 . 1006 [RFC9086] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Patel, K., 1007 Ray, S., and J. Dong, "Border Gateway Protocol - Link 1008 State (BGP-LS) Extensions for Segment Routing BGP Egress 1009 Peer Engineering", RFC 9086, DOI 10.17487/RFC9086, August 1010 2021, . 1012 14.2. Informative References 1014 [I-D.ietf-spring-srv6-yang] 1015 Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, 1016 H., Voyer, D., Matsushima, S., Horiba, K., AbdelSalam, A., 1017 and J. Rajamanickam, "YANG Data Model for SRv6 Base and 1018 Static", draft-ietf-spring-srv6-yang-00 (work in 1019 progress), September 2020. 1021 [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, 1022 "Multiprotocol Extensions for BGP-4", RFC 4760, 1023 DOI 10.17487/RFC4760, January 2007, 1024 . 1026 [RFC5706] Harrington, D., "Guidelines for Considering Operations and 1027 Management of New Protocols and Protocol Extensions", 1028 RFC 5706, DOI 10.17487/RFC5706, November 2009, 1029 . 1031 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1032 Writing an IANA Considerations Section in RFCs", BCP 26, 1033 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1034 . 1036 [RFC8355] Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R. 1037 Shakir, "Resiliency Use Cases in Source Packet Routing in 1038 Networking (SPRING) Networks", RFC 8355, 1039 DOI 10.17487/RFC8355, March 2018, 1040 . 1042 Appendix A. Differences with BGP-EPE for SR-MPLS 1044 The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as 1045 defined in this document differ from the signaling of SR-MPLS BGP-EPE 1046 SIDs as specified in [RFC9086]. This section provides a high-level 1047 overview of the same. 1049 There is no difference in the advertisement of the BGP Peer Adjacency 1050 SID in both SR-MPLS and SRv6 and it is advertised as an attribute of 1051 the Link NLRI which identifies a specific Layer 3 interface on the 1052 BGP Speaker. The difference is in the advertisement of the BGP Peer 1053 Node and Peer Set SIDs. 1055 In case of SR-MPLS, an additional Link NLRI is required to be 1056 advertised corresponding to each BGP Peering session on the node. 1057 Note that, this is not the same Link NLRI associated with the actual 1058 layer 3 interface even when the peering is setup using the interface 1059 IP addresses. These BGP-LS Link NLRIs are not really links in the 1060 traditional link-state routing data model but instead identify BGP 1061 peering sessions. The BGP Peer Node and/or Peer Set SIDs associated 1062 with that peering session are advertised as attributes associated 1063 with this peering Link NLRI. In the case of SRv6, each BGP Peer Node 1064 or Peer Set SID is considered to be associated with the BGP Speaker 1065 node and is advertised using the BGP-LS SRv6 SID NLRI while the 1066 peering session information is advertised as attributes associated 1067 with it. 1069 The advertisement of the BGP Peer Set SID for SR-MPLS is done by 1070 including that SID as an attribute in all the Link NLRIs 1071 corresponding to the peering sessions that are part of the "set". 1072 The advertisement of the BGP Peer Set SID for SRv6 is advertised 1073 using a single SRv6 SID NLRI and all the peers associated with that 1074 "set" are indicated as attributes associated with the NLRI. 1076 Authors' Addresses 1078 Gaurav Dawra 1079 LinkedIn 1080 USA 1082 Email: gdawra.ietf@gmail.com 1084 Clarence Filsfils 1085 Cisco Systems 1086 Belgium 1088 Email: cfilsfil@cisco.com 1090 Ketan Talaulikar (editor) 1091 Cisco Systems 1092 India 1094 Email: ketant.ietf@gmail.com 1096 Mach Chen 1097 Huawei 1098 China 1100 Email: mach.chen@huawei.com 1102 Daniel Bernier 1103 Bell Canada 1104 Canada 1106 Email: daniel.bernier@bell.ca 1108 Bruno Decraene 1109 Orange 1110 France 1112 Email: bruno.decraene@orange.com