idnits 2.17.1 draft-ietf-idr-bgpls-srv6-ext-08.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 (June 8, 2021) is 1053 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-15 == 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: December 10, 2021 K. Talaulikar, Ed. 6 Cisco Systems 7 M. Chen 8 Huawei 9 D. Bernier 10 Bell Canada 11 B. Decraene 12 Orange 13 June 8, 2021 15 BGP Link State Extensions for SRv6 16 draft-ietf-idr-bgpls-srv6-ext-08 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 December 10, 2021. 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 [I-D.ietf-idr-bgp-ls-segment-routing-ext] and for the BGP Egress Peer 121 Engineering (EPE) is specified in 122 [I-D.ietf-idr-bgpls-segment-routing-epe]. On similar lines, 123 introducing the SRv6 related information in BGP-LS allows consumer 124 applications that require topological visibility to also receive the 125 SRv6 SIDs from nodes across an IGP domain or even across Autonomous 126 Systems (AS), as required. This allows applications to leverage the 127 SRv6 capabilities for network programming. 129 The identifying key of each Link-State object, namely a node, link, 130 or prefix, is encoded in the NLRI and the properties of the object 131 are encoded in the BGP-LS 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 [I-D.ietf-idr-bgpls-segment-routing-epe]), then it advertises the 162 SRv6 information from the local 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 [I-D.ietf-idr-bgp-ls-segment-routing-ext]. 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 199 [I-D.ietf-idr-bgp-ls-segment-routing-ext]. 201 The SRv6 SIDs associated with the node are advertised using the BGP- 202 LS SRv6 SID NLRI introduced in this document (Section 6). This 203 enables the BGP-LS encoding to scale to cover a potentially large set 204 of SRv6 SIDs instantiated on a node with the granularity of 205 individual SIDs and without affecting the size and scalability of the 206 BGP-LS updates. BGP-LS Attribute TLVs for the SRv6 SID NLRI are 207 introduced in this document as follows: 209 o The endpoint behavior of the SRv6 SID is advertised via the SRv6 210 Endpoint Behavior TLV (Section 7.1). 212 o The BGP EPE Peer Node context for a Peer Node, and the Peer Set 213 context for a Peer Set SID [RFC8402] are advertised via the SRv6 214 BGP EPE Peer Node SID TLV (Section 7.2), 216 Subsequent sections of this document specify the encoding and usage 217 of these extensions. 219 3. SRv6 Node Attributes 221 SRv6 attributes of a node are advertised using the BGP-LS Attribute 222 TLVs defined in this section and associated with the BGP-LS Node 223 NLRI. 225 3.1. SRv6 Capabilities TLV 227 This BGP-LS Attribute TLV is used to announce the SRv6 capabilities 228 of the node along with the BGP-LS Node NLRI and indicates the SRv6 229 support by the node. A single instance of this TLV MUST be included 230 in the BGP-LS attribute for each SRv6 capable node. This TLV maps 231 from the SRv6 Capabilities sub-TLV 232 [I-D.ietf-lsr-isis-srv6-extensions] and the SRv6 Capabilities TLV 233 [I-D.ietf-lsr-ospfv3-srv6-extensions] of the IS-IS and OSPFv3 234 protocol SRv6 extensions respectively. Any sub-TLVs introduced by 235 future documents for IS-IS and OSPFv3 SRv6 Capabilities are REQUIRED 236 to be introduced as top-level TLVs in BGP-LS in the future. 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 | Length | 242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 243 | Flags | Reserved | 244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 246 Figure 1: SRv6 Capabilities TLV Format 248 Where: 250 o Type: 1038 252 o Length : 4. 254 o Flags: 2 octet field. The flags are derived from the SRv6 255 Capabilities sub-TLV/TLV of IS-IS (section 2 of 256 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 2 of 257 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 259 o Reserved: 2 octet that MUST be set to 0 and ignored on receipt. 261 3.2. SRv6 Node MSD Types 263 The Node MSD TLV [RFC8814] of the BGP-LS Attribute of the Node NLRI 264 is also used to advertise the limits and the Segment Routing Header 265 (SRH) [RFC8754] operations supported by the SRv6 capable node. The 266 SRv6 MSD Types specified in section 4 of 267 [I-D.ietf-lsr-isis-srv6-extensions] are also used with the BGP-LS 268 Node MSD TLV as these codepoints are shared between IS-IS, OSPF and 269 BGP-LS protocols. The description and semantics of these new MSD 270 types for BGP-LS are identical as specified in 271 [I-D.ietf-lsr-isis-srv6-extensions]. 273 Each MSD type is encoded as a one-octet type followed by a one-octet 274 value as specified in [RFC8814]. 276 4. SRv6 Link Attributes 278 SRv6 attributes and SIDs associated with a link or adjacency are 279 advertised using the BGP-LS Attribute TLVs defined in this section 280 and associated with the BGP-LS Link NLRI. 282 4.1. SRv6 End.X SID TLV 284 The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs associated 285 with an IGP Adjacency SID behavior that correspond to a point-to- 286 point or point-to-multipoint link or adjacency of the node running 287 IS-IS and OSPFv3 protocols. This TLV can also be used to advertise 288 the SRv6 SID corresponding to the underlying layer-2 member links for 289 a layer-3 bundle interface as a sub-TLV of the L2 Bundle Member 290 Attribute TLV [I-D.ietf-idr-bgp-ls-segment-routing-ext]. The SRv6 291 SID for the IGP adjacency using the End.X behaviors (viz. End.X, 292 End.X with PSP, End.X with USP, and End.X with PSP & USP) [RFC8986] 293 are advertised using the SRv6 End.X SID TLV. 295 This TLV is also used by BGP-LS to advertise the BGP EPE Peer 296 Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in 297 [I-D.ietf-idr-bgpls-segment-routing-epe]. The SRv6 SID for the BGP 298 Peer Adjacency using End.X behaviors (viz. End.X, End.X with PSP, 299 End.X with USP, and End.X with PSP & USP) [RFC8986] indicates the 300 cross-connect to a specific layer-3 link to the specific BGP session 301 peer (neighbor). 303 The TLV has the following format: 305 0 1 2 3 306 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 307 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 308 | Type | Length | 309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 310 | Endpoint Behavior | Flags | Algorithm | 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 312 | Weight | Reserved | SID (16 octets) ... | 313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 314 | SID (cont ...) | 315 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 316 | SID (cont ...) | 317 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 318 | SID (cont ...) | 319 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 320 | SID (cont ...) | Sub-TLVs (variable) . . . 321 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 323 Figure 2: SRv6 End.X TLV Format 325 Where: 327 Type: 1106 328 Length: variable 330 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 331 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 333 Flags: 1 octet of flags. The flags are derived from the SRv6 334 End.X SID sub-TLV/TLV of IS-IS (section 8.1 of 335 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 8.1 of 336 [I-D.ietf-lsr-ospfv3-srv6-extensions]). In the case of BGP EPE 337 Peer Adjacency SID, the flags are as defined for the SRv6 BGP Peer 338 Node SID TLV (Section 7.2). 340 Algorithm: 1 octet field. Algorithm associated with the SID. 341 Algorithm values are defined in the IANA IGP Algorithm Type 342 registry (https://www.iana.org/assignments/igp-parameters/igp- 343 parameters.xhtml). 345 Weight: 1 octet field. The value represents the weight of the SID 346 for the purpose of load balancing. The use of the weight is 347 defined in [RFC8402]. 349 Reserved: 1 octet field that MUST be set to 0 and ignored on 350 receipt. 352 SID: 16 octet field. This field encodes the advertised SRv6 SID 353 as 128 bit value. 355 Sub-TLVs : They are allocated from the IANA "BGP-LS Node 356 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 357 TLVs" registry and are used to advertise sub-TLVs that provide 358 additional attributes for the specific SRv6 SID. This document 359 defines one inSection 8. 361 4.2. SRv6 LAN End.X SID TLV 363 For a LAN interface, an IGP node announces normally only its 364 adjacency to the IS-IS pseudo-node (or the equivalent OSPF DR). The 365 SRv6 LAN End.X SID TLV allows a node to announce the SRv6 SID 366 corresponding to its adjacencies to all other (i.e., non-DIS or non- 367 DR) nodes attached to the LAN in a single instance of the BGP-LS Link 368 NLRI. Without this TLV, multiple BGP-LS Link NLRIs would need to be 369 originated for each additional adjacency to advertise the SRv6 End.X 370 SID TLVs for these neighbor adjacencies. The SRv6 SID for these IGP 371 adjacencies using the End.X behaviors (viz. End.X, End.X with PSP, 372 End.X with USP, and End.X with PSP & USP) [RFC8986] are advertised 373 using the SRv6 LAN End.X SID TLV. 375 The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN End.X 376 SID TLVs have the following format: 378 0 1 2 3 379 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 380 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 381 | Type | Length | 382 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 383 | Endpoint Behavior | Flags | Algorithm | 384 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 385 | Weight | Reserved | Neighbor ID - | 386 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 387 | IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | 388 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 389 | SID (16 octets) ... | 390 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 391 | SID (cont ...) | 392 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 393 | SID (cont ...) | 394 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 395 | SID (cont ...) | 396 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 397 | Sub-TLVs (variable) . . . 398 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 Figure 3: SRv6 LAN End.X SID TLV Format 402 Where: 404 o Type: 1107 in case of IS-IS and 1108 in case of OSPFv3 406 o Length: variable 408 o Endpoint Behavior: 2 octet field. The Endpoint Behavior code 409 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 411 o Flags: 1 octet of flags. The flags are derived from the SRv6 LAN 412 End.X SID sub-TLV/TLV of IS-IS (section 8.2 of 413 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 8.2 of 414 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 416 o Algorithm: 1 octet field. Algorithm associated with the SID. 417 Algorithm values are defined in the IANA IGP Algorithm Type 418 registry (https://www.iana.org/assignments/igp-parameters/igp- 419 parameters.xhtml). 421 o Weight: 1 octet field. The value represents the weight of the SID 422 for the purpose of load balancing. The use of the weight is 423 defined in [RFC8402]. 425 o Reserved: 1 octet field that MUST be set to 0 and ignored on 426 receipt. 428 o Neighbor ID : 6 octets of IS-IS System ID of the neighbor for the 429 IS-IS SRv6 LAN End.X SID TLV and 4 octets of OSPFv3 Router-id of 430 the neighbor for the OSPFv3 SRv6 LAN End.X SID TLV. 432 o SID: 16 octet field. This field encodes the advertised SRv6 SID 433 as 128 bit value. 435 o Sub-TLVs : They are allocated from the IANA "BGP-LS Node 436 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 437 TLVs" registry and are used to advertise sub-TLVs that provide 438 additional attributes for the specific SRv6 SID. This document 439 defines one inSection 8. 441 4.3. SRv6 Link MSD Types 443 The Link MSD TLV [RFC8814] of the BGP-LS Attribute of the Link NLRI 444 is also used to advertise the limits and the SRH operations supported 445 on the specific link by the SRv6 capable node. The SRv6 MSD Types 446 specified in section 4 of[I-D.ietf-lsr-isis-srv6-extensions] are also 447 used with the BGP-LS Link MSD TLV as these codepoints are shared 448 between IS-IS, OSPF, and BGP-LS protocols. The description and 449 semantics of these new MSD types for BGP-LS are identical as 450 specified in [I-D.ietf-lsr-isis-srv6-extensions]. 452 Each MSD type is encoded as a one-octet type followed by a one-octet 453 value as specified in [RFC8814]. 455 5. SRv6 Prefix Attributes 457 SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS 458 Attribute TLVs defined in this section and associated with the BGP-LS 459 Prefix NLRI. 461 5.1. SRv6 Locator TLV 463 As specified in [RFC8986], an SRv6 SID comprises Locator, Function 464 and Argument parts. 466 A node is provisioned with one or more locators supported by that 467 node. Locators are covering prefixes for the set of SIDs provisioned 468 on that node. These Locators are advertised as BGP-LS Prefix NLRI 469 objects along with the SRv6 Locator TLV in its BGP-LS Attribute. 471 The IPv6 Prefix matching the Locator MAY be also advertised as a 472 prefix reachability by the underlying routing protocol. In this 473 case, the Prefix NLRI would be also associated with the Prefix Metric 474 TLV that carries the routing metric for this prefix. When the 475 Locator prefix is not being advertised as a prefix reachability, then 476 the Prefix NLRI would have the SRv6 Locator TLV associated with it 477 but no Prefix Metric TLV. In the absence of Prefix Metric TLV, the 478 consumer of the BGP-LS topology information MUST NOT interpret the 479 Locator prefix as a prefix reachability routing advertisement in the 480 IGPs default SPF computation. 482 The SRv6 Locator TLV has the following format: 484 0 1 2 3 485 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 486 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 487 | Type | Length | 488 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 489 | Flags | Algorithm | Reserved | 490 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 491 | Metric | 492 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 493 | Sub-TLVs (variable) . . . 494 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 496 Figure 4: SRv6 Locator TLV Format 498 Where: 500 Type: 1162 502 Length: variable 504 Flags: 1 octet of flags. The flags are derived from the SRv6 505 Locator TLV of IS-IS (section 7.1 of 506 [I-D.ietf-lsr-isis-srv6-extensions]) and OSPFv3 (section 6.1 of 507 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 509 Algorithm: 1 octet field. Algorithm associated with the SID. 510 Algorithm values are defined in the IANA IGP Algorithm Type 511 registry (https://www.iana.org/assignments/igp-parameters/igp- 512 parameters.xhtml). 514 Reserved: 2 octet field. The value MUST be set to 0 and ignored 515 on receipt. 517 Metric: 4 octet field. The value of the metric for the Locator. 519 Sub-TLVs : They are allocated from the IANA "BGP-LS Node 520 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 521 TLVs" registry and are used to advertise sub-TLVs that provide 522 additional attributes for the given SRv6 Locator. Currently none 523 are defined. 525 6. SRv6 SID NLRI 527 SRv6 SID information is advertised in BGP UPDATE messages using the 528 MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. The "Link- 529 State NLRI" defined in [RFC7752] is extended to carry the SRv6 SID 530 information. 532 A new "Link-State NLRI Type" is defined for SRv6 SID information as 533 following: 535 o Link-State NLRI Type: SRv6 SID NLRI (value 6). 537 The format of this new NLRI type is as shown in the following figure: 539 0 1 2 3 540 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 541 +-+-+-+-+-+-+-+-+ 542 | Protocol-ID | 543 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 544 | Identifier | 545 | (64 bits) | 546 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 547 | Local Node Descriptors (variable) // 548 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 549 | SRv6 SID Descriptors (variable) // 550 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 552 Figure 5: SRv6 SID NLRI Format 554 Where: 556 o Protocol-ID: 1 octet field that specifies the protocol component 557 through which BGP-LS learns the SRv6 SIDs of the node. The BGP-LS 558 Protocol-ID registry was created by [RFC7752] and then additional 559 assignments were made for other BGP-LS extensions. 561 o Identifier: 8 octet value as defined in [RFC7752]. 563 o Local Node Descriptors TLV: as defined in [RFC7752] for IGPs, 564 local and static configuration and as defined in 565 [I-D.ietf-idr-bgpls-segment-routing-epe] for BGP protocol. 567 o SRv6 SID Descriptors: MUST include a single SRv6 SID Information 568 TLV defined in Section 6.1 and optionally MAY include the Multi- 569 Topology Identifier TLV as defined in [RFC7752]. 571 New TLVs for advertisement within the BGP Link State Attribute 572 [RFC7752] are defined in Section 7 to carry the attributes of an SRv6 573 SID. 575 6.1. SRv6 SID Information TLV 577 An SRv6 SID is encoded using the SRv6 SID Information TLV. 579 The TLV has the following format: 581 0 1 2 3 582 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 583 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 584 | Type | Length | 585 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 586 | SID (16 octets) ... | 587 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 588 | SID (cont ...) | 589 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 590 | SID (cont ...) | 591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 592 | SID (cont ...) | 593 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 595 Figure 6: SRv6 SID Information TLV Format 597 Where: 599 Type: 518 601 Length: 16. 603 SID: 16 octet field. This field encodes the advertised SRv6 SID 604 as 128 bit value. 606 7. SRv6 SID Attributes 608 This section specifies the TLVs to be carried in the BGP Link State 609 Attribute associated with the BGP-LS SRv6 SID NLRI. 611 7.1. SRv6 Endpoint Behavior TLV 613 Each SRv6 SID instantiated on an SRv6 capable node has specific 614 instructions (called behavior) bound to it. [RFC8986] describes how 615 behaviors are bound to a SID and also defines the initial set of 616 well-known behaviors. 618 The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be 619 included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID 620 NLRI. The TLV has the following format: 622 0 1 2 3 623 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 624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 | Type | Length | 626 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 627 | Endpoint Behavior | Flags | Algorithm | 628 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 630 Figure 7: SRv6 Endpoint Behavior TLV 632 Where: 634 Type: 1250 636 Length: 4. 638 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 639 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 641 Flags: 1 octet of flags with the none defined currently. Reserved 642 for future use and MUST be set to 0 and ignored on receipt. 644 Algorithm: 1 octet field. Algorithm associated with the SID. 645 Algorithm values are defined in the IGP Algorithm Type registry 646 (https://www.iana.org/assignments/igp-parameters/igp- 647 parameters.xhtml). 649 7.2. SRv6 BGP Peer Node SID TLV 651 The BGP Peer Node SID and Peer Set SID for SR-MPLS are specified in 652 [I-D.ietf-idr-bgpls-segment-routing-epe]. Similar Peer Node and Peer 653 Set functionality can be realized with SRv6 using SIDs with END.X 654 behavior. The SRv6 BGP Peer Node SID TLV is a mandatory TLV for use 655 in the BGP-LS Attribute for an SRv6 SID NLRI advertised by BGP for 656 the EPE functionality. This TLV MUST be included along with SRv6 657 SIDs that are associated with the BGP Peer Node or Peer Set 658 functionality. 660 The TLV has the following format: 662 0 1 2 3 663 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 664 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 665 | Type | Length | 666 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 667 | Flags | Weight | Reserved | 668 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 669 | Peer AS Number | 670 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 671 | Peer BGP Identifier | 672 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 674 Figure 8: SRv6 BGP Peer Node SID TLV Format 676 Where: 678 o Type: 1251 680 o Length: 12 682 o Flags: 1 octet of flags with the following definition (also refer 683 to Section 9.3 for IANA registry): 685 0 1 2 3 4 5 6 7 686 +-+-+-+-+-+-+-+-+ 687 |B|S|P| Reserved| 688 +-+-+-+-+-+-+-+-+ 690 Figure 9: SRv6 BGP EPE SID Flags Format 692 * B-Flag: Backup Flag. If set, the SID is eligible for 693 protection (e.g. using IPFRR) as described in [RFC8355]. 695 * S-Flag: Set Flag. When set, the S-Flag indicates that the SID 696 refers to a set of BGP peering sessions (i.e. BGP Peer Set SID 697 functionality) and therefore MAY be assigned to one or more 698 End.X SIDs associated with BGP peer sessions. 700 * P-Flag: Persistent Flag: When set, the P-Flag indicates that 701 the SID is persistently allocated, i.e., the value remains 702 consistent across router restart and/or session flap. 704 * Other bits are reserved for future use and MUST be set to 0 and 705 ignored on receipt. 707 o Weight: 1 octet field. The value represents the weight of the SID 708 for the purpose of load balancing. The use of the weight is 709 defined in [RFC8402]. 711 o Reserved: 2 octet field. The value MUST be set to 0 and ignored 712 on receipt. 714 o Peer AS Number : 4 octets of BGP AS number of the peer router. 716 o Peer BGP Identifier : 4 octets of the BGP Identifier (BGP Router- 717 ID) of the peer router. 719 For an SRv6 BGP EPE Peer Node SID, one instance of this TLV is 720 associated with the SRv6 SID. For SRv6 BGP EPE Peer Set SID, 721 multiple instances of this TLV (one for each peer in the "peer set") 722 are associated with the SRv6 SID and the S (set/group) flag is SET. 724 8. SRv6 SID Structure TLV 726 The SRv6 SID Structure TLV is used to advertise the length of each 727 individual part of the SRv6 SID as defined in [RFC8986]. It is an 728 optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI and 729 as a sub-TLV of the SRv6 End.X, IS-IS SRv6 LAN End.X and OSPFv3 SRv6 730 LAN End.X TLVs. The TLV has the following format: 732 0 1 2 3 733 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 734 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 735 | Type | Length | 736 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 737 | LB Length | LN Length | Fun. Length | Arg. Length | 738 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 740 Figure 10: SRv6 SID Structure TLV 742 Where: 744 Type: 1252 746 Length: 4 748 Locator Block Length: 1 octet field. SRv6 SID Locator Block 749 length in bits. 751 Locator Node Length: 1 octet field. SRv6 SID Locator Node length 752 in bits. 754 Function Length: 1 octet field. SRv6 SID Function length in bits. 756 Argument Length: 1 octet field. SRv6 SID Argument length in bits. 758 The total of the locator block, locator node, function, and argument 759 lengths MUST be less than or equal to 128. 761 9. IANA Considerations 763 This document requests assigning code-points from the IANA "Border 764 Gateway Protocol - Link State (BGP-LS) Parameters" registry as 765 described in the sub-sections below. 767 9.1. BGP-LS NLRI-Types 769 The following codepoints are assigned by IANA via the early 770 allocation process from within the sub-registry called "BGP-LS NLRI- 771 Types": 773 +------+----------------------------+---------------+ 774 | Type | NLRI Type | Reference | 775 +------+----------------------------+---------------+ 776 | 6 | SRv6 SID | this document | 777 +------+----------------------------+---------------+ 779 Figure 11: SRv6 SID NLRI Type Codepoint 781 9.2. BGP-LS TLVs 783 The following TLV codepoints are assigned by IANA via the early 784 allocation process from within the sub-registry called "BGP-LS Node 785 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs": 787 +----------+----------------------------------------+---------------+ 788 | TLV Code | Description | Value defined | 789 | Point | | in | 790 +----------+----------------------------------------+---------------+ 791 | 518 | SRv6 SID Information TLV | this document | 792 | 1038 | SRv6 Capabilities TLV | this document | 793 | 1106 | SRv6 End.X SID TLV | this document | 794 | 1107 | IS-IS SRv6 LAN End.X SID TLV | this document | 795 | 1108 | OSPFv3 SRv6 LAN End.X SID TLV | this document | 796 | 1162 | SRv6 Locator TLV | this document | 797 | 1250 | SRv6 Endpoint Behavior TLV | this document | 798 | 1251 | SRv6 BGP Peer Node SID TLV | this document | 799 | 1252 | SRv6 SID Structure TLV | this document | 800 +----------+----------------------------------------+---------------+ 802 Figure 12: SRv6 BGP-LS Attribute TLV Codepoints 804 9.3. SRv6 BGP EPE SID Flags 806 This document requests the creation of a new registry called "SRv6 807 BGP EPE SID Flags" under the "Border Gateway Protocol - Link State 808 (BGP-LS) Parameters" registry. The allocation policy of this 809 registry is "Standards Action" according to [RFC8126]. 811 The following flags are defined: 813 Bit Description Reference 814 --------------------------------------------------- 815 0 Backup Flag (B-Flag) This document 816 1 Set Flag (S-Flag) This document 817 2 Persistent Flag (P-Flag) This document 818 3-7 Unassigned 820 10. Manageability Considerations 822 This section is structured as recommended in [RFC5706]. 824 The new protocol extensions introduced in this document augment the 825 existing IGP topology information that is distributed via [RFC7752]. 826 Procedures and protocol extensions defined in this document do not 827 affect the BGP protocol operations and management other than as 828 discussed in the Manageability Considerations section of [RFC7752]. 829 Specifically, the malformed attribute tests for syntactic checks in 830 the Fault Management section of [RFC7752] now encompass the new BGP- 831 LS extensions defined in this document. The semantic or content 832 checking for the TLVs specified in this document and their 833 association with the BGP-LS NLRI types or their BGP-LS Attribute is 834 left to the consumer of the BGP-LS information (e.g., an application 835 or a controller) and not the BGP protocol. 837 A consumer of the BGP-LS information retrieves this information over 838 a BGP-LS session (refer Section 1 and 2 of [RFC7752]). The handling 839 of semantic or content errors by the consumer would be dictated by 840 the nature of its application usage and hence is beyond the scope of 841 this document. 843 The SR information introduced in BGP-LS by this specification may be 844 used by BGP-LS consumer applications like an SR path computation 845 engine (PCE) to learn the SRv6 capabilities of the nodes in the 846 topology and the mapping of SRv6 segments to those nodes. This can 847 enable the SR PCE to perform path computations based on SR for 848 traffic engineering use-cases and to steer traffic on paths different 849 from the underlying IGP based distributed best path computation. 850 Errors in the encoding or decoding of the SRv6 information may result 851 in the unavailability of such information to the SR PCE or incorrect 852 information being made available to it. This may result in the SR 853 PCE not being able to perform the desired SR-based optimization 854 functionality or to perform it in an unexpected or inconsistent 855 manner. The handling of such errors by applications like SR PCE may 856 be implementation-specific and out of the scope of this document. 858 The manageability considerations related to BGP EPE functionality are 859 discussed in [I-D.ietf-idr-bgpls-segment-routing-epe] in the context 860 of SR-MPLS and they also apply to this document in the context of 861 SRv6. 863 The extensions, specified in this document, do not introduce any new 864 configuration or monitoring aspects in BGP or BGP-LS other than as 865 discussed in [RFC7752]. The manageability aspects of the underlying 866 SRv6 features are covered by [I-D.ietf-spring-srv6-yang]. 868 11. Security Considerations 870 The new protocol extensions introduced in this document augment the 871 existing IGP topology information that is distributed via [RFC7752]. 872 The advertisement of the SRv6 link-state information defined in this 873 document presents a similar risk as associated with the existing set 874 of link-state information as described in [RFC7752]. The Security 875 Considerations section of [RFC7752] also applies to these extensions. 876 The procedures and new TLVs defined in this document, by themselves, 877 do not affect the BGP-LS security model discussed in [RFC7752]. 879 The extensions introduced in this document are used to propagate IGP 880 defined information ([I-D.ietf-lsr-isis-srv6-extensions] and 881 [I-D.ietf-lsr-ospfv3-srv6-extensions]). These extensions represent 882 the advertisement of SRv6 information associated with the IGP node, 883 link, and prefix. The IGP instances originating these TLVs are 884 assumed to support all the required security and authentication 885 mechanisms (as described in [I-D.ietf-lsr-isis-srv6-extensions] and 886 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in order to prevent any 887 security issue when propagating the information into BGP-LS. 889 The security considerations related to BGP EPE functionality are 890 discussed in [I-D.ietf-idr-bgpls-segment-routing-epe] in the context 891 of SR-MPLS and they also apply to this document in the context of 892 SRv6. 894 BGP-LS SRv6 extensions enable traffic engineering use-cases within 895 the Segment Routing domain. SR operates within a trusted domain 896 [RFC8402] and its security considerations also apply to BGP-LS 897 sessions when carrying SR information. The SR traffic engineering 898 policies using the SIDs advertised via BGP-LS are expected to be used 899 entirely within this trusted SR domain (e.g., between multiple AS/ 900 domains within a single provider network). Therefore, precaution is 901 necessary to ensure that the link-state information (including SRv6 902 information) advertised via BGP-LS sessions is limited to consumers 903 in a secure manner within this trusted SR domain. BGP peering 904 sessions for address-families other than Link-State may be set up to 905 routers outside the SR domain. The isolation of BGP-LS peering 906 sessions is recommended to ensure that BGP-LS topology information 907 (including the newly added SR information) is not advertised to an 908 external BGP peering session outside the SR domain. 910 12. Contributors 912 James Uttaro 913 AT&T 914 USA 915 Email: ju1738@att.com 917 Hani Elmalky 918 Ericsson 919 USA 920 Email: hani.elmalky@gmail.com 922 Arjun Sreekantiah 923 Individual 924 USA 925 Email: arjunhrs@gmail.com 926 Les Ginsberg 927 Cisco Systems 928 USA 929 Email: ginsberg@cisco.com 931 Shunwan Zhuang 932 Huawei 933 China 934 Email: zhuangshunwan@huawei.com 936 13. Acknowledgements 938 The authors would like to thank Peter Psenak, Arun Babu, Pablo 939 Camarillo, Francois Clad, Peng Shaofu, Cheng Li, and Dhruv Dhody for 940 their review of this document and their comments. The authors would 941 also like to thanks Susan Hares for her shepherd review and Adrian 942 Farrel for his detailed Routing Directorate review. 944 14. References 946 14.1. Normative References 948 [I-D.ietf-idr-bgp-ls-segment-routing-ext] 949 Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., 950 and M. Chen, "BGP Link-State extensions for Segment 951 Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-18 952 (work in progress), April 2021. 954 [I-D.ietf-idr-bgpls-segment-routing-epe] 955 Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, 956 S., and J. Dong, "BGP-LS extensions for Segment Routing 957 BGP Egress Peer Engineering", draft-ietf-idr-bgpls- 958 segment-routing-epe-19 (work in progress), May 2019. 960 [I-D.ietf-lsr-isis-srv6-extensions] 961 Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and 962 Z. Hu, "IS-IS Extension to Support Segment Routing over 963 IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-15 964 (work in progress), May 2021. 966 [I-D.ietf-lsr-ospfv3-srv6-extensions] 967 Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, 968 "OSPFv3 Extensions for SRv6", draft-ietf-lsr- 969 ospfv3-srv6-extensions-02 (work in progress), February 970 2021. 972 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 973 Requirement Levels", BCP 14, RFC 2119, 974 DOI 10.17487/RFC2119, March 1997, 975 . 977 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 978 S. Ray, "North-Bound Distribution of Link-State and 979 Traffic Engineering (TE) Information Using BGP", RFC 7752, 980 DOI 10.17487/RFC7752, March 2016, 981 . 983 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 984 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 985 May 2017, . 987 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 988 Decraene, B., Litkowski, S., and R. Shakir, "Segment 989 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 990 July 2018, . 992 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 993 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 994 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 995 . 997 [RFC8814] Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., 998 and N. Triantafillis, "Signaling Maximum SID Depth (MSD) 999 Using the Border Gateway Protocol - Link State", RFC 8814, 1000 DOI 10.17487/RFC8814, August 2020, 1001 . 1003 [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, 1004 D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 1005 (SRv6) Network Programming", RFC 8986, 1006 DOI 10.17487/RFC8986, February 2021, 1007 . 1009 14.2. Informative References 1011 [I-D.ietf-spring-srv6-yang] 1012 Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, 1013 H., Voyer, D., Matsushima, S., Horiba, K., AbdelSalam, A., 1014 and J. Rajamanickam, "YANG Data Model for SRv6 Base and 1015 Static", draft-ietf-spring-srv6-yang-00 (work in 1016 progress), September 2020. 1018 [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, 1019 "Multiprotocol Extensions for BGP-4", RFC 4760, 1020 DOI 10.17487/RFC4760, January 2007, 1021 . 1023 [RFC5706] Harrington, D., "Guidelines for Considering Operations and 1024 Management of New Protocols and Protocol Extensions", 1025 RFC 5706, DOI 10.17487/RFC5706, November 2009, 1026 . 1028 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1029 Writing an IANA Considerations Section in RFCs", BCP 26, 1030 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1031 . 1033 [RFC8355] Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R. 1034 Shakir, "Resiliency Use Cases in Source Packet Routing in 1035 Networking (SPRING) Networks", RFC 8355, 1036 DOI 10.17487/RFC8355, March 2018, 1037 . 1039 Appendix A. Differences with BGP-EPE for SR-MPLS 1041 The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as 1042 defined in this document differ from the signaling of SR-MPLS BGP-EPE 1043 SIDs as specified in [I-D.ietf-idr-bgpls-segment-routing-epe]. This 1044 section provides a high-level overview of the same. 1046 There is no difference in the advertisement of the BGP Peer Adjacency 1047 SID in both SR-MPLS and SRv6 and it is advertised as an attribute of 1048 the Link NLRI which identifies a specific Layer 3 interface on the 1049 BGP Speaker. The difference is in the advertisement of the BGP Peer 1050 Node and Peer Set SIDs. 1052 In case of SR-MPLS, an additional Link NLRI is required to be 1053 advertised corresponding to each BGP Peering session on the node. 1054 Note that, this is not the same Link NLRI associated with the actual 1055 layer 3 interface even when the peering is setup using the interface 1056 IP addresses. These BGP-LS Link NLRIs are not really links in the 1057 traditional link-state routing data model but instead identify BGP 1058 peering sessions. The BGP Peer Node and/or Peer Set SIDs associated 1059 with that peering session are advertised as attributes associated 1060 with this peering Link NLRI. In the case of SRv6, each BGP Peer Node 1061 or Peer Set SID is considered to be associated with the BGP Speaker 1062 node and is advertised using the BGP-LS SRv6 SID NLRI while the 1063 peering session information is advertised as attributes associated 1064 with it. 1066 The advertisement of the BGP Peer Set SID for SR-MPLS is done by 1067 including that SID as an attribute in all the Link NLRIs 1068 corresponding to the peering sessions that are part of the "set". 1069 The advertisement of the BGP Peer Set SID for SRv6 is advertised 1070 using a single SRv6 SID NLRI and all the peers associated with that 1071 "set" are indicated as attributes associated with the NLRI. 1073 Authors' Addresses 1075 Gaurav Dawra 1076 LinkedIn 1077 USA 1079 Email: gdawra.ietf@gmail.com 1081 Clarence Filsfils 1082 Cisco Systems 1083 Belgium 1085 Email: cfilsfil@cisco.com 1087 Ketan Talaulikar (editor) 1088 Cisco Systems 1089 India 1091 Email: ketant@cisco.com 1093 Mach Chen 1094 Huawei 1095 China 1097 Email: mach.chen@huawei.com 1099 Daniel Bernier 1100 Bell Canada 1101 Canada 1103 Email: daniel.bernier@bell.ca 1104 Bruno Decraene 1105 Orange 1106 France 1108 Email: bruno.decraene@orange.com