idnits 2.17.1 draft-ietf-idr-bgpls-srv6-ext-07.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 (March 25, 2021) is 1125 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 (-13) exists of draft-ietf-6man-spring-srv6-oam-08 == Outdated reference: A later version (-18) exists of draft-ietf-idr-bgp-ls-segment-routing-ext-16 == Outdated reference: A later version (-19) exists of draft-ietf-lsr-isis-srv6-extensions-11 == Outdated reference: A later version (-15) exists of draft-ietf-lsr-ospfv3-srv6-extensions-01 ** 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 (~~), 6 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: September 26, 2021 K. Talaulikar, Ed. 6 Cisco Systems 7 M. Chen 8 Huawei 9 D. Bernier 10 Bell Canada 11 B. Decraene 12 Orange 13 March 25, 2021 15 BGP Link State Extensions for SRv6 16 draft-ietf-idr-bgpls-srv6-ext-07 18 Abstract 20 Segment Routing (SR) over IPv6 (SRv6) allows for a flexible 21 definition of end-to-end paths within various topologies by encoding 22 paths as sequences of topological or functional sub-paths, called 23 "segments". These segments are advertised by the various protocols 24 such as BGP, IS-IS and OSPFv3. 26 BGP Link-state (BGP-LS) address-family solution for SRv6 is similar 27 to BGP-LS for SR for MPLS data-plane. This draft defines extensions 28 to the BGP-LS to advertise SRv6 Segments along with their behaviors 29 and other attributes via BGP. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on September 26, 2021. 48 Copyright Notice 50 Copyright (c) 2021 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 67 2. BGP-LS Extensions for SRv6 . . . . . . . . . . . . . . . . . 4 68 3. SRv6 Node Attributes . . . . . . . . . . . . . . . . . . . . 5 69 3.1. SRv6 Capabilities TLV . . . . . . . . . . . . . . . . . . 5 70 3.2. SRv6 Node MSD Types . . . . . . . . . . . . . . . . . . . 6 71 4. SRv6 Link Attributes . . . . . . . . . . . . . . . . . . . . 7 72 4.1. SRv6 End.X SID TLV . . . . . . . . . . . . . . . . . . . 7 73 4.2. SRv6 LAN End.X SID TLV . . . . . . . . . . . . . . . . . 9 74 4.3. SRv6 Link MSD Types . . . . . . . . . . . . . . . . . . . 11 75 5. SRv6 Prefix Attributes . . . . . . . . . . . . . . . . . . . 12 76 5.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 12 77 6. SRv6 SID NLRI . . . . . . . . . . . . . . . . . . . . . . . . 13 78 6.1. SRv6 SID Information TLV . . . . . . . . . . . . . . . . 14 79 7. SRv6 SID Attributes . . . . . . . . . . . . . . . . . . . . . 15 80 7.1. SRv6 Endpoint Behavior TLV . . . . . . . . . . . . . . . 15 81 7.2. SRv6 BGP Peer Node SID TLV . . . . . . . . . . . . . . . 16 82 8. SRv6 SID Structure TLV . . . . . . . . . . . . . . . . . . . 18 83 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 84 9.1. BGP-LS NLRI-Types . . . . . . . . . . . . . . . . . . . . 19 85 9.2. BGP-LS TLVs . . . . . . . . . . . . . . . . . . . . . . . 19 86 10. Manageability Considerations . . . . . . . . . . . . . . . . 20 87 11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 88 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 89 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 90 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 91 14.1. Normative References . . . . . . . . . . . . . . . . . . 23 92 14.2. Informative References . . . . . . . . . . . . . . . . . 24 93 Appendix A. Differences with BGP-EPE for SR-MPLS . . . . . . . . 25 94 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 96 1. Introduction 98 SRv6 refers to Segment Routing instantiated on the IPv6 data-plane 99 [RFC8402]. A SRv6 Segment is often referred to by its SRv6 Segment 100 Identifier (SID). 102 The network programming paradigm [RFC8986] is central to SRv6. It 103 describes how different behaviors can be bound to SIDs and how a 104 network program can be expressed as a combination of SIDs. 106 An SRv6-capable node N maintains all the SRv6 segments explicitly 107 instantiated at node N. 109 The IS-IS [I-D.ietf-lsr-isis-srv6-extensions] and OSPFv3 110 [I-D.ietf-lsr-ospfv3-srv6-extensions] link-state routing protocols 111 have been extended to advertise some of these SRv6 SIDs and 112 SRv6-related information. Certain other SRv6 SIDs may be 113 instantiated on a node via other mechanisms for topological or 114 service functionalities. 116 The advertisement of SR related information along with the topology 117 for the MPLS data-plane instantiation is specified in 118 [I-D.ietf-idr-bgp-ls-segment-routing-ext] and for the BGP Egress Peer 119 Engineering (EPE) is specified in 120 [I-D.ietf-idr-bgpls-segment-routing-epe]. On the similar lines, 121 introducing the SRv6 related information in BGP-LS allows consumer 122 applications that require topological visibility to also receive the 123 SRv6 SIDs from nodes across a domain or even across Autonomous 124 Systems (AS), as required. This allows applications to leverage the 125 SRv6 capabilities for network programming. 127 The identifying key of each Link-State object, namely a node, link, 128 or prefix, is encoded in the NLRI and the properties of the object 129 are encoded in the BGP-LS Attribute [RFC7752]. 131 This document describes extensions to BGP-LS to advertise the SRv6 132 SIDs and other SRv6 information from all the SRv6 capable nodes in 133 the domain when sourced from link-state routing protocols and 134 directly from individual SRv6 capable nodes (e.g. when sourced from 135 BGP for EPE). 137 1.1. Requirements Language 139 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 140 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 141 "OPTIONAL" in this document are to be interpreted as described in BCP 142 14 [RFC2119] [RFC8174] when, and only when, they appear in all 143 capitals, as shown here. 145 2. BGP-LS Extensions for SRv6 147 BGP-LS [RFC7752] defines the Node, Link and Prefix Link-State Network 148 Layer Reachability Information (NLRI) types and the advertisement of 149 their attributes via BGP. 151 The SRv6 information pertaining to a node is advertised via the BGP- 152 LS Node NLRI and using the BGP-LS Attribute TLVs as follows: 154 o SRv6 Capabilities of the node are advertised via SRv6 Capabilities 155 TLV (Section 3.1) 157 o Maximum SID Depth (MSD) types introduced for SRv6 are advertised 158 (Section 3.2) using the Node MSD TLV specified in [RFC8814] 160 o Algorithm support for SRv6 is advertised via the SR Algorithm TLV 161 specified in [I-D.ietf-idr-bgp-ls-segment-routing-ext]. 163 The SRv6 information pertaining to a link is advertised via the BGP- 164 LS Link NLRI and using the BGP-LS Attribute TLVs as follows: 166 o SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer Adjacency 167 SID [RFC8402] is advertised via SRv6 End.X SID TLV introduced in 168 this document (Section 4.1) 170 o SRv6 SID of the IGP Adjacency SID to a non-Designated Router (DR) 171 or non-Designated Intermediate-System (DIS) [RFC8402] is 172 advertised via SRv6 LAN End.X SID TLV introduced in this document 173 (Section 4.2) 175 o MSD types introduced for SRv6 are advertised (Section 4.3) using 176 the Link MSD TLV specified in [RFC8814]. 178 The SRv6 information pertaining to a prefix is advertised via the 179 BGP-LS Prefix NLRI and using the BGP-LS Attribute TLVs as follows: 181 o SRv6 Locator is advertised via SRv6 Locator TLV introduced in this 182 document (Section 5.1) 184 o The attributes of the SRv6 Locator are advertised via the Prefix 185 Attribute Flags TLV specified in 186 [I-D.ietf-idr-bgp-ls-segment-routing-ext]. 188 The SRv6 SIDs associated with the node are advertised using the BGP- 189 LS SRv6 SID NLRI introduced in this document. This enables the BGP- 190 LS encoding to scale to cover a potentially large set of SRv6 SIDs 191 instantiated on a node with the granularity of individual SIDs and 192 without affecting the size and scalability of the BGP-LS updates. 194 BGP-LS Attribute TLVs for the SRv6 SID NLRI are introduced in this 195 document as follows: 197 o The endpoint behavior of the SRv6 SID is advertised via SRv6 198 Endpoint Behavior TLV (Section 7.1) 200 o The BGP EPE Peer Node and Peer Set context for a Peer Node and 201 Peer Set SID [RFC8402] respectively is advertised via SRv6 BGP EPE 202 Peer Node SID TLV (Section 7.2) 204 When the BGP-LS router is advertising topology information that it 205 sources from the underlying link-state routing protocol (as described 206 in [RFC7752]), then it maps the corresponding SRv6 information from 207 the SRv6 extensions for IS-IS [I-D.ietf-lsr-isis-srv6-extensions] and 208 OSPFv3 [I-D.ietf-lsr-ospfv3-srv6-extensions] protocols to their BGP- 209 LS TLVs/sub-TLVs for all SRv6 capable nodes in that routing protocol 210 domain. When the BGP-LS router is advertising topology information 211 from the BGP routing protocol (e.g. for EPE as described in 212 [I-D.ietf-idr-bgpls-segment-routing-epe]), then it advertises the 213 SRv6 information from the local node alone. 215 Subsequent sections of this document specify the encoding and usage 216 of these extensions. 218 3. SRv6 Node Attributes 220 SRv6 attributes of a node are advertised using the BGP-LS Attribute 221 TLVs defined in this section and associated with the BGP-LS Node 222 NLRI. 224 3.1. SRv6 Capabilities TLV 226 This BGP-LS Attribute TLV is used to announce the SRv6 capabilities 227 of the node along with the BGP-LS Node NLRI and indicates the SRv6 228 support by the node. A single instance of this TLV MUST be included 229 in the BGP-LS attribute for each SRv6 capable node. This TLV maps to 230 the SRv6 Capabilities sub-TLV and the SRv6 Capabilities TLV of the 231 IS-IS and OSPFv3 protocol SRv6 extensions respectively. 233 0 1 2 3 234 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 235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 236 | Type | Length | 237 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 238 | Flags | Reserved | 239 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 241 Figure 1: SRv6 Capabilities TLV Format 243 Where: 245 o Type: 1038 247 o Length : 4. 249 o Flags: 2 octet field. The following flags are defined: 251 0 1 252 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 253 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 | |O| Reserved | 255 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 257 Figure 2: SRv6 Capability TLV Flags Format 259 * O-flag: If set, then router is capable of supporting SRH O-bit 260 Flags, as specified in [I-D.ietf-6man-spring-srv6-oam]. 262 * The rest of the bits are reserved for future use and MUST be 263 set to 0 and ignored on receipt. 265 o Reserved: 2 octet that MUST be set to 0 and ignored on receipt. 267 3.2. SRv6 Node MSD Types 269 The Node MSD TLV [RFC8814] of the BGP-LS Attribute of the Node NLRI 270 is also used to advertise the limits and the Segment Routing Header 271 (SRH) [RFC8754] operations supported by the SRv6 capable node. The 272 SRv6 MSD Types specified in section 4 of 273 [I-D.ietf-lsr-isis-srv6-extensions] are also used with the BGP-LS 274 Node MSD TLV as these codepoints are shared between IS-IS, OSPF and 275 BGP-LS protocols. The description and semantics of these new MSD 276 types for BGP-LS are identical as specified in 277 [I-D.ietf-lsr-isis-srv6-extensions]. 279 Each MSD type is encoded as a one octet type followed by a one octet 280 value as specified in [RFC8814]. 282 4. SRv6 Link Attributes 284 SRv6 attributes and SIDs associated with a link or adjacency are 285 advertised using the BGP-LS Attribute TLVs defined in this section 286 and associated with the BGP-LS Link NLRI. 288 4.1. SRv6 End.X SID TLV 290 The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs associated 291 with an IGP Adjacency SID behavior that correspond to a point-to- 292 point or point-to-multipoint link or adjacency of the node running 293 IS-IS and OSPFv3 protocols. This TLV can also be used to advertise 294 the SRv6 SID corresponding to the underlying layer-2 member links for 295 a layer-3 bundle interface as a sub-TLV of the L2 Bundle Member 296 Attribute TLV [I-D.ietf-idr-bgp-ls-segment-routing-ext]. The SRv6 297 SID for the IGP adjacency using the End.X behaviors (viz. End.X, 298 End.X with PSP, End.X with USP and End.X with PSP & USP) [RFC8986] 299 are advertised using the SRv6 End.X SID TLV. 301 This TLV is also used by BGP to advertise the BGP EPE Peer Adjacency 302 SID for SRv6 on the same lines as specified for SR/MPLS in 303 [I-D.ietf-idr-bgpls-segment-routing-epe]. The SRv6 SID for the BGP 304 Peer Adjacency using End.X behaviors (viz. End.X, End.X with PSP, 305 End.X with USP and End.X with PSP & USP) [RFC8986] indicates the 306 cross-connect to a specific layer-3 link to the specific BGP session 307 peer (neighbor). 309 The TLV has the following format: 311 0 1 2 3 312 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 313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 314 | Type | Length | 315 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 316 | Endpoint Behavior | Flags | Algorithm | 317 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 318 | Weight | Reserved | SID (16 octets) ... 319 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 320 SID (cont ...) 321 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 322 SID (cont ...) 323 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 324 SID (cont ...) 325 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 326 SID (cont ...) | Sub-TLVs (variable) . . . 327 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 329 Figure 3: SRv6 End.X TLV Format 331 Where: 333 Type: 1106 335 Length: variable 337 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 338 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 340 Flags: 1 octet of flags with the following definition: 342 0 1 2 3 4 5 6 7 343 +-+-+-+-+-+-+-+-+ 344 |B|S|P| Reserved| 345 +-+-+-+-+-+-+-+-+ 347 Figure 4: SRv6 End.X SID TLV Flags Format 349 * B-Flag: Backup Flag. If set, the SID is eligible for 350 protection (e.g. using IPFRR) as described in [RFC8355]. 352 * S-Flag: Set Flag. When set, the S-Flag indicates that the SID 353 refers to a set of adjacencies (and therefore MAY be assigned 354 to other adjacencies as well). 356 * P-Flag: Persistent Flag: When set, the P-Flag indicates that 357 the SID is persistently allocated, i.e., the value remains 358 consistent across router restart and/or interface flap. 360 * The other bits are reserved for future use and MUST be set to 0 361 and ignored on receipt. 363 Algorithm: 1 octet field. Algorithm associated with the SID. 364 Algorithm values are defined in the IANA IGP Algorithm Type 365 registry. 367 Weight: 1 octet field. The value represents the weight of the SID 368 for the purpose of load balancing. The use of the weight is 369 defined in [RFC8402]. 371 Reserved: 1 octet field that MUST be set to 0 and ignored on 372 receipt. 374 SID: 16 octet field. This field encodes the advertised SRv6 SID 375 as 128 bit value. 377 Sub-TLVs : Used to advertise sub-TLVs that provide additional 378 attributes for the specific SRv6 SID. 380 4.2. SRv6 LAN End.X SID TLV 382 For a LAN interface, normally an IGP node only announces its 383 adjacency to the IS-IS pseudo-node (or the equivalent OSPF DR). The 384 SRv6 LAN End.X SID TLV allows a node to announce SRv6 SID 385 corresponding to its adjacencies to all other (i.e. non-DIS or non- 386 DR) nodes attached to the LAN in a single instance of the BGP-LS Link 387 NLRI. Without this TLV, multiple BGP-LS Link NLRI would need to be 388 originated for each additional adjacency in order to advertise the 389 SRv6 End.X SID TLVs for these neighbor adjacencies. The SRv6 SID for 390 these IGP adjacencies using the End.X behaviors (viz. End.X, End.X 391 with PSP, End.X with USP and End.X with PSP & USP) [RFC8986] are 392 advertised using the SRv6 LAN End.X SID TLV. 394 The IS-IS and OSPFv3 SRv6 LAN End.X SID TLVs have the following 395 format: 397 0 1 2 3 398 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 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 | Type | Length | 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 | Endpoint Behavior | Flags | Algorithm | 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 404 | Weight | Reserved | Neighbor ID - | 405 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 406 | ISIS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | 407 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 408 | SID (16 octets) ... 409 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 410 SID (cont ...) 411 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 412 SID (cont ...) 413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 414 SID (cont ...) | 415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 | Sub-TLVs (variable) . . . 417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 419 Figure 5: SRv6 LAN End.X SID TLV Format 421 Where: 423 o Type: 1107 in case of IS-IS and 1108 in case of OSPFv3 425 o Length: variable 427 o Endpoint Behavior: 2 octet field. The Endpoint Behavior code 428 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 430 o Flags: 1 octet of flags with the following definition: 432 0 1 2 3 4 5 6 7 433 +-+-+-+-+-+-+-+-+ 434 |B|S|P| Reserved| 435 +-+-+-+-+-+-+-+-+ 437 Figure 6: SRv6 LAN End.X SID TLV Flags Format 439 * B-Flag: Backup Flag. If set, the SID is eligible for 440 protection (e.g. using IPFRR) as described in [RFC8355]. 442 * S-Flag: Set Flag. When set, the S-Flag indicates that the SID 443 refers to a set of adjacencies (and therefore MAY be assigned 444 to other adjacencies as well). 446 * P-Flag: Persistent Flag: When set, the P-Flag indicates that 447 the SID is persistently allocated, i.e., the value remains 448 consistent across router restart and/or interface flap. 450 * Other bits are reserved for future use and MUST be set to 0 and 451 ignored on receipt. 453 o Algorithm: 1 octet field. Algorithm associated with the SID. 454 Algorithm values are defined in the IANA IGP Algorithm Type 455 registry. 457 o Weight: 1 octet field. The value represents the weight of the SID 458 for the purpose of load balancing. The use of the weight is 459 defined in [RFC8402]. 461 o Reserved: 1 octet field that MUST be set to 0 and ignored on 462 receipt. 464 o Neighbor ID : 6 octets of ISIS System ID of the neighbor for the 465 ISIS SRv6 LAN End.X SID TLV and 4 octets of OSPFv3 Router-id of 466 the neighbor for the OSPFv3 SRv6 LAN End.X SID TLV. 468 o SID: 16 octet field. This field encodes the advertised SRv6 SID 469 as 128 bit value. 471 o Sub-TLVs : Used to advertise sub-TLVs that provide additional 472 attributes for the specific SRv6 SID. 474 4.3. SRv6 Link MSD Types 476 The Link MSD TLV [RFC8814] of the BGP-LS Attribute of the Link NLRI 477 is also used to advertise the limits and the SRH operations supported 478 on the specific link by the SRv6 capable node. The SRv6 MSD Types 479 specified in section 4 of[I-D.ietf-lsr-isis-srv6-extensions] are also 480 used with the BGP-LS Link MSD TLV as these codepoints are shared 481 between IS-IS, OSPF and BGP-LS protocols. The description and 482 semantics of these new MSD types for BGP-LS are identical as 483 specified in [I-D.ietf-lsr-isis-srv6-extensions]. 485 Each MSD type is encoded as a one octet type followed by a one octet 486 value as specified in [RFC8814]. 488 5. SRv6 Prefix Attributes 490 SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS 491 Attribute TLVs defined in this section and associated with the BGP-LS 492 Prefix NLRI. 494 5.1. SRv6 Locator TLV 496 As specified in [RFC8986], an SRv6 SID comprises of Locator, Function 497 and Argument parts. 499 A node is provisioned with one or more locators supported by that 500 node. Locators are covering prefixes for the set of SIDs provisioned 501 on that node. These Locators are advertised as BGP-LS Prefix NLRI 502 objects along with the SRv6 Locator TLV in its BGP-LS Attribute. 504 The IPv6 Prefix matching the Locator MAY be also advertised as a 505 prefix reachability by the underlying routing protocol. In this 506 case, the Prefix NLRI would be also associated with the Prefix Metric 507 TLV that carries the routing metric for this prefix. When the 508 Locator prefix is not being advertised as a prefix reachability, then 509 the Prefix NLRI would have the SRv6 Locator TLV associated with it 510 but no Prefix Metric TLV. In the absence of Prefix Metric TLV, the 511 consumer of the BGP-LS topology information MUST NOT interpret the 512 Locator prefix as a prefix reachability routing advertisement in the 513 IGPs default SPF computation. 515 The SRv6 Locator TLV has the following format: 517 0 1 2 3 518 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 519 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 520 | Type | Length | 521 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 522 | Flags | Algorithm | Reserved | 523 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 524 | Metric | 525 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 526 | Sub-TLVs (variable) . . . 527 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 529 Figure 7: SRv6 Locator TLV Format 531 Where: 533 Type: 1162 534 Length: variable 536 Flags: 1 octet of flags with the following definition: 538 0 1 2 3 4 5 6 7 539 +-+-+-+-+-+-+-+-+ 540 |D| Reserved | 541 +-+-+-+-+-+-+-+-+ 543 Figure 8: SRv6 Locator TLV Flags Format 545 * D-Flag: Indicates that the locator has been leaked into the IGP 546 domain when set. IS-IS operations for this are discussed in 547 [I-D.ietf-lsr-isis-srv6-extensions]. 549 * Other bits are reserved for future use and MUST be set to 0 and 550 ignored on receipt. 552 Algorithm: 1 octet field. Algorithm associated with the SID. 553 Algorithm values are defined in the IANA IGP Algorithm Type 554 registry. 556 Reserved: 2 octet field. The value MUST be set to 0 and ignored 557 on receipt. 559 Metric: 4 octet field. The value of the metric for the Locator. 561 Sub-TLVs : currently none defined. Used to advertise sub-TLVs 562 that provide additional attributes for the given SRv6 Locator. 564 6. SRv6 SID NLRI 566 SRv6 SID information is advertised in BGP UPDATE messages using the 567 MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. The "Link- 568 State NLRI" defined in [RFC7752] is extended to carry the SRv6 SID 569 information. 571 A new "Link-State NLRI Type" is defined for SRv6 SID information as 572 following: 574 o Link-State NLRI Type: SRv6 SID NLRI (value 6). 576 The format of this new NLRI type is as shown in the following figure: 578 0 1 2 3 579 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 580 +-+-+-+-+-+-+-+-+ 581 | Protocol-ID | 582 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 583 | Identifier | 584 | (64 bits) | 585 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 586 | Local Node Descriptors (variable) // 587 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 588 | SRv6 SID Descriptors (variable) // 589 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 591 Figure 9: SRv6 SID NLRI Format 593 Where: 595 o Protocol-ID: 1 octet field that specifies the protocol component 596 through which BGP-LS learns the SRv6 SIDs of the node. The 597 Protocol-ID registry was created by [RFC7752] and then extended by 598 other BGP-LS extensions. 600 o Identifier: 8 octet value as defined in [RFC7752]. 602 o Local Node Descriptors TLV: as defined in [RFC7752] for IGPs, 603 local and static configuration and as defined in 604 [I-D.ietf-idr-bgpls-segment-routing-epe] for BGP protocol. 606 o SRv6 SID Descriptors: MUST include a single SRv6 SID Information 607 TLV defined in Section 6.1 and optionally MAY include the Multi- 608 Topology Identifier TLV as defined in [RFC7752]. 610 New TLVs for advertisement within the BGP Link State Attribute 611 [RFC7752] are defined in Section 7 to carry the attributes of an SRv6 612 SID. 614 6.1. SRv6 SID Information TLV 616 An SRv6 SID is encoded using the SRv6 SID Information TLV. 618 The TLV has the following format: 620 0 1 2 3 621 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 622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 623 | Type | Length | 624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 | SID (16 octets) ... 626 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 627 SID (cont ...) 628 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 629 SID (cont ...) 630 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 631 SID (cont ...) | 632 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 634 Figure 10: SRv6 SID Information TLV Format 636 Where: 638 Type: 518 640 Length: 16. 642 SID: 16 octet field. This field encodes the advertised SRv6 SID 643 as 128 bit value. 645 7. SRv6 SID Attributes 647 This section specifies the TLVs to be carried in the BGP Link State 648 Attribute associated with the BGP-LS SRv6 SID NLRI. 650 7.1. SRv6 Endpoint Behavior TLV 652 Each SRv6 SID instantiated on an SRv6 capable node has specific 653 instructions (called behavior) bound to it. [RFC8986] describes how 654 behaviors are bound with a SID and also defines the initial set of 655 well-known behaviors. 657 The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be 658 included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID 659 NLRI. The TLV has the following format: 661 0 1 2 3 662 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 663 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 664 | Type | Length | 665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 666 | Endpoint Behavior | Flags | Algorithm | 667 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 669 Figure 11: SRv6 Endpoint Behavior TLV 671 Where: 673 Type: 1250 675 Length: 4. 677 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 678 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 680 Flags: 1 octet of flags with the none defined currently. Reserved 681 for future use and MUST be set to 0 and ignored on receipt. 683 Algorithm: 1 octet field. Algorithm associated with the SID. 684 Algorithm values are defined in the IGP Algorithm Type registry. 686 7.2. SRv6 BGP Peer Node SID TLV 688 The BGP Peer Node SID and Peer Set SID for SR with MPLS data-plane 689 are specified in [I-D.ietf-idr-bgpls-segment-routing-epe]. The 690 similar Peer Node and Peer Set functionality can be realized with 691 SRv6 using SIDs with END.X behavior. The SRv6 BGP Peer Node SID TLV 692 is an optional TLV for use in the BGP-LS Attribute for an SRv6 SID 693 NLRI advertised by BGP for the EPE functionality. This TLV MUST be 694 included along with SRv6 SIDs that are associated with the BGP Peer 695 Node or Peer Set functionality. 697 The TLV has the following format: 699 0 1 2 3 700 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 701 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 702 | Type | Length | 703 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 704 | Flags | Weight | Reserved | 705 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 706 | Peer AS Number | 707 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 708 | Peer BGP Identifier | 709 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 711 Figure 12: SRv6 BGP Peer Node SID TLV Format 713 Where: 715 o Type: 1251 717 o Length: 12 719 o Flags: 1 octet of flags with the following definition: 721 0 1 2 3 4 5 6 7 722 +-+-+-+-+-+-+-+-+ 723 |B|S|P| Reserved| 724 +-+-+-+-+-+-+-+-+ 726 Figure 13: SRv6 BGP Peer End.X SID TLV Flags Format 728 * B-Flag: Backup Flag. If set, the SID is eligible for 729 protection (e.g. using IPFRR) as described in [RFC8355]. 731 * S-Flag: Set Flag. When set, the S-Flag indicates that the SID 732 refers to a set of BGP peering sessions (i.e. BGP Peer Set SID 733 functionality) and therefore MAY be assigned to one or more 734 End.X SIDs associated with BGP peer sessions. 736 * P-Flag: Persistent Flag: When set, the P-Flag indicates that 737 the SID is persistently allocated, i.e., the value remains 738 consistent across router restart and/or session flap. 740 * Other bits are reserved for future use and MUST be set to 0 and 741 ignored on receipt. 743 o Weight: 1 octet field. The value represents the weight of the SID 744 for the purpose of load balancing. The use of the weight is 745 defined in [RFC8402]. 747 o Reserved: 2 octet field. The value MUST be set to 0 and ignored 748 on receipt. 750 o Peer AS Number : 4 octets of BGP AS number of the peer router. 752 o Peer BGP Identifier : 4 octets of the BGP Identifier (BGP Router- 753 ID) of the peer router. 755 For a SRv6 BGP EPE Peer Node SID, one instance of this TLV is 756 associated with the SRv6 SID. For SRv6 BGP EPE Peer Set SID, 757 multiple instances of this TLV (one for each peer in the "peer set") 758 are associated with the SRv6 SID and the S (set/group) flag is SET. 760 8. SRv6 SID Structure TLV 762 SRv6 SID Structure TLV is used to advertise the length of each 763 individual part of the SRv6 SID as defined in [RFC8986]. It is an 764 optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI and 765 as a sub-TLV of the SRv6 End.X, IS-IS SRv6 LAN End.X and OSPFv3 SRv6 766 LAN End.X TLVs. The TLV has the following format: 768 0 1 2 3 769 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 770 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 771 | Type | Length | 772 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 773 | LB Length | LN Length | Fun. Length | Arg. Length | 774 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 776 Figure 14: SRv6 SID Structure TLV 778 Where: 780 Type: 2 octet field with value 1252 782 Length: 2 octet field with the value 4. 784 Locator Block Length: 1 octet field. SRv6 SID Locator Block 785 length in bits. 787 Locator Node Length: 1 octet field. SRv6 SID Locator Node length 788 in bits. 790 Function Length: 1 octet field. SRv6 SID Function length in bits. 792 Argument Length: 1 octet field. SRv6 SID Argument length in bits. 794 The total of the locator block, locator node, function and argument 795 lengths MUST be less than or equal to 128. 797 9. IANA Considerations 799 This document requests assigning code-points from the IANA "Border 800 Gateway Protocol - Link State (BGP-LS) Parameters" registry as 801 described in the sub-sections below. 803 9.1. BGP-LS NLRI-Types 805 The following codepoints are assigned by IANA via the early 806 allocation process from within the sub-registry called "BGP-LS NLRI- 807 Types": 809 +------+----------------------------+---------------+ 810 | Type | NLRI Type | Reference | 811 +------+----------------------------+---------------+ 812 | 6 | SRv6 SID | this document | 813 +------+----------------------------+---------------+ 815 Figure 15: SRv6 SID NLRI Type Codepoint 817 9.2. BGP-LS TLVs 819 The following TLV codepoints are assigned by IANA via the early 820 allocation process from within the sub-registry called "BGP-LS Node 821 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs": 823 +----------+----------------------------------------+---------------+ 824 | TLV Code | Description | Value defined | 825 | Point | | in | 826 +----------+----------------------------------------+---------------+ 827 | 1038 | SRv6 Capabilities TLV | this document | 828 | 1106 | SRv6 End.X SID TLV | this document | 829 | 1107 | IS-IS SRv6 LAN End.X SID TLV | this document | 830 | 1108 | OSPFv3 SRv6 LAN End.X SID TLV | this document | 831 | 1162 | SRv6 Locator TLV | this document | 832 | 518 | SRv6 SID Information TLV | this document | 833 | 1250 | SRv6 Endpoint Behavior TLV | this document | 834 | 1251 | SRv6 BGP Peer Node SID TLV | this document | 835 | 1252 | SRv6 SID Structure TLV | this document | 836 +----------+----------------------------------------+---------------+ 838 Figure 16: SRv6 BGP-LS Attribute TLV Codepoints 840 10. Manageability Considerations 842 This section is structured as recommended in [RFC5706]. 844 The new protocol extensions introduced in this document augment the 845 existing IGP topology information that is distributed via [RFC7752]. 846 Procedures and protocol extensions defined in this document do not 847 affect the BGP protocol operations and management other than as 848 discussed in the Manageability Considerations section of [RFC7752]. 849 Specifically, the malformed attribute tests for syntactic checks in 850 the Fault Management section of [RFC7752] now encompass the new BGP- 851 LS extensions defined in this document. The semantic or content 852 checking for the TLVs specified in this document and their 853 association with the BGP-LS NLRI types or their BGP-LS Attribute is 854 left to the consumer of the BGP-LS information (e.g. an application 855 or a controller) and not the BGP protocol. 857 A consumer of the BGP-LS information retrieves this information over 858 a BGP-LS session (refer Section 1 and 2 of [RFC7752]). The handling 859 of semantic or content errors by the consumer would be dictated by 860 the nature of its application usage and hence is beyond the scope of 861 this document. 863 The SR information introduced in BGP-LS by this specification, may be 864 used by BGP-LS consumer applications like a SR path computation 865 engine (PCE) to learn the SRv6 capabilities of the nodes in the 866 topology and the mapping of SRv6 segments to those nodes. This can 867 enable the SR PCE to perform path computations based on SR for 868 traffic engineering use-cases and to steer traffic on paths different 869 from the underlying IGP based distributed best path computation. 870 Errors in the encoding or decoding of the SRv6 information may result 871 in the unavailability of such information to the SR PCE or incorrect 872 information being made available to it. This may result in the SR 873 PCE not being able to perform the desired SR based optimization 874 functionality or to perform it in an unexpected or inconsistent 875 manner. The handling of such errors by applications like SR PCE may 876 be implementation specific and out of scope of this document. 878 The manageability considerations related to BGP EPE functionality are 879 discussed in [I-D.ietf-idr-bgpls-segment-routing-epe] in the context 880 of SR-MPLS and they also apply to this document in the context of 881 SRv6. 883 The extensions, specified in this document, do not introduce any new 884 configuration or monitoring aspects in BGP or BGP-LS other than as 885 discussed in [RFC7752]. The manageability aspects of the underlying 886 SRv6 features are covered by [I-D.ietf-spring-srv6-yang]. 888 11. Security Considerations 890 The new protocol extensions introduced in this document augment the 891 existing IGP topology information that is distributed via [RFC7752]. 892 The advertisement of the SRv6 link-state information defined in this 893 document presents similar risk as associated with the existing set of 894 link-state information as described in [RFC7752]. The Security 895 Considerations section of [RFC7752] also applies to these extensions. 896 The procedures and new TLVs defined in this document, by themselves, 897 do not affect the BGP-LS security model discussed in [RFC7752]. 899 The extensions introduced in this document are used to propagate IGP 900 defined information ([I-D.ietf-lsr-isis-srv6-extensions] and 901 [I-D.ietf-lsr-ospfv3-srv6-extensions]). These extensions represent 902 the advertisement of SRv6 information associated with the IGP node, 903 link and prefix. The IGP instances originating these TLVs are 904 assumed to support all the required security and authentication 905 mechanisms (as described in [I-D.ietf-lsr-isis-srv6-extensions] and 906 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in order to prevent any 907 security issue when propagating the information into BGP-LS. 909 The security considerations related to BGP EPE functionality are 910 discussed in [I-D.ietf-idr-bgpls-segment-routing-epe] in the context 911 of SR-MPLS and they also apply to this document in the context of 912 SRv6. 914 BGP-LS SRv6 extensions enable traffic engineering use-cases within 915 the Segment Routing domain. SR operates within a trusted domain 916 [RFC8402] and its security considerations also apply to BGP-LS 917 sessions when carrying SR information. The SR traffic engineering 918 policies using the SIDs advertised via BGP-LS are expected to be used 919 entirely within this trusted SR domain (e.g. between multiple AS/ 920 domains within a single provider network). Therefore, precaution is 921 necessary to ensure that the link-state information (including SRv6 922 information) advertised via BGP-LS sessions is limited to consumers 923 in a secure manner within this trusted SR domain. BGP peering 924 sessions for address-families other than Link-State may be setup to 925 routers outside the SR domain. The isolation of BGP-LS peering 926 sessions is recommended to ensure that BGP-LS topology information 927 (including the newly added SR information) is not advertised to an 928 external BGP peering session outside the SR domain. 930 12. Contributors 932 James Uttaro 933 AT&T 934 USA 935 Email: ju1738@att.com 937 Hani Elmalky 938 Ericsson 939 USA 940 Email: hani.elmalky@gmail.com 942 Arjun Sreekantiah 943 Individual 944 USA 945 Email: arjunhrs@gmail.com 947 Les Ginsberg 948 Cisco Systems 949 USA 950 Email: ginsberg@cisco.com 952 Shunwan Zhuang 953 Huawei 954 China 955 Email: zhuangshunwan@huawei.com 957 13. Acknowledgements 959 The authors would like to thank Peter Psenak, Arun Babu, Pablo 960 Camarillo, Francois Clad, Peng Shaofu, Cheng Li and Dhruv Dhody for 961 their review of this document and their comments. The authors would 962 also like to thanks Susan Hares for her shepherd review. 964 14. References 966 14.1. Normative References 968 [I-D.ietf-6man-spring-srv6-oam] 969 Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. 970 Chen, "Operations, Administration, and Maintenance (OAM) 971 in Segment Routing Networks with IPv6 Data plane (SRv6)", 972 draft-ietf-6man-spring-srv6-oam-08 (work in progress), 973 October 2020. 975 [I-D.ietf-idr-bgp-ls-segment-routing-ext] 976 Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., 977 and M. Chen, "BGP Link-State extensions for Segment 978 Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 979 (work in progress), June 2019. 981 [I-D.ietf-idr-bgpls-segment-routing-epe] 982 Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, 983 S., and J. Dong, "BGP-LS extensions for Segment Routing 984 BGP Egress Peer Engineering", draft-ietf-idr-bgpls- 985 segment-routing-epe-19 (work in progress), May 2019. 987 [I-D.ietf-lsr-isis-srv6-extensions] 988 Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and 989 Z. Hu, "IS-IS Extension to Support Segment Routing over 990 IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-11 991 (work in progress), October 2020. 993 [I-D.ietf-lsr-ospfv3-srv6-extensions] 994 Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, 995 "OSPFv3 Extensions for SRv6", draft-ietf-lsr- 996 ospfv3-srv6-extensions-01 (work in progress), August 2020. 998 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 999 Requirement Levels", BCP 14, RFC 2119, 1000 DOI 10.17487/RFC2119, March 1997, 1001 . 1003 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 1004 S. Ray, "North-Bound Distribution of Link-State and 1005 Traffic Engineering (TE) Information Using BGP", RFC 7752, 1006 DOI 10.17487/RFC7752, March 2016, 1007 . 1009 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1010 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1011 May 2017, . 1013 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 1014 Decraene, B., Litkowski, S., and R. Shakir, "Segment 1015 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 1016 July 2018, . 1018 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 1019 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 1020 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 1021 . 1023 [RFC8814] Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., 1024 and N. Triantafillis, "Signaling Maximum SID Depth (MSD) 1025 Using the Border Gateway Protocol - Link State", RFC 8814, 1026 DOI 10.17487/RFC8814, August 2020, 1027 . 1029 [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, 1030 D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 1031 (SRv6) Network Programming", RFC 8986, 1032 DOI 10.17487/RFC8986, February 2021, 1033 . 1035 14.2. Informative References 1037 [I-D.ietf-spring-srv6-yang] 1038 Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, 1039 H., Voyer, D., Matsushima, S., Horiba, K., Abdelsalam, A., 1040 and J. Rajamanickam, "YANG Data Model for SRv6 Base and 1041 Static", draft-ietf-spring-srv6-yang-00 (work in 1042 progress), September 2020. 1044 [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, 1045 "Multiprotocol Extensions for BGP-4", RFC 4760, 1046 DOI 10.17487/RFC4760, January 2007, 1047 . 1049 [RFC5706] Harrington, D., "Guidelines for Considering Operations and 1050 Management of New Protocols and Protocol Extensions", 1051 RFC 5706, DOI 10.17487/RFC5706, November 2009, 1052 . 1054 [RFC8355] Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R. 1055 Shakir, "Resiliency Use Cases in Source Packet Routing in 1056 Networking (SPRING) Networks", RFC 8355, 1057 DOI 10.17487/RFC8355, March 2018, 1058 . 1060 Appendix A. Differences with BGP-EPE for SR-MPLS 1062 The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as 1063 defined in this document differ from the signaling of SR-MPLS BGP-EPE 1064 SIDs as specified in [I-D.ietf-idr-bgpls-segment-routing-epe]. This 1065 section provides a high-level overview of the same. 1067 There is no difference in the advertisement of the BGP Peer Adjacency 1068 SID in both SR-MPLS and SRv6 and it is advertised as an attribute of 1069 the Link NLRI which identifies a specific Layer 3 interface on the 1070 BGP Speaker. The difference is in the advertisement of the BGP Peer 1071 Node and Peer Set SIDs. 1073 In case of SR-MPLS, an additional Link NLRI is required to be 1074 advertised corresponding to each BGP Peering session on the node. 1075 Note that, this is not the same Link NLRI associated with the actual 1076 layer 3 interface even when the peering is setup using the interface 1077 IP addresses. These BGP-LS Link NLRIs are not really links in the 1078 traditional link-state routing data model but instead identify BGP 1079 peering sessions. The BGP Peer Node and/or Peer Set SIDs associated 1080 with that peering session are advertised as attributes associated 1081 with this peering Link NLRI. In the case of SRv6, each BGP Peer Node 1082 or Peer Set SID is considered to be associated with the BGP Speaker 1083 node and is advertised using the BGP-LS SRv6 SID NLRI while the 1084 peering session(s) information is advertised as attribute associated 1085 with it. 1087 The advertisement of the BGP Peer Set SID for SR-MPLS is done by 1088 including that SID as an attribute in all the Link NLRIs 1089 corresponding to the peering sessions that are part of the "set". 1090 The advertisement of the BGP Peer Set SID for SRv6 is advertised 1091 using a single SRv6 SID NLRI and all the peers associated with that 1092 "set" are indicated as attributes associated with the NLRI. 1094 Authors' Addresses 1096 Gaurav Dawra 1097 LinkedIn 1098 USA 1100 Email: gdawra.ietf@gmail.com 1102 Clarence Filsfils 1103 Cisco Systems 1104 Belgium 1106 Email: cfilsfil@cisco.com 1107 Ketan Talaulikar (editor) 1108 Cisco Systems 1109 India 1111 Email: ketant@cisco.com 1113 Mach Chen 1114 Huawei 1115 China 1117 Email: mach.chen@huawei.com 1119 Daniel Bernier 1120 Bell Canada 1121 Canada 1123 Email: daniel.bernier@bell.ca 1125 Bruno Decraene 1126 Orange 1127 France 1129 Email: bruno.decraene@orange.com