idnits 2.17.1 draft-ietf-idr-bgpls-srv6-ext-14.txt: -(774): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding 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: ---------------------------------------------------------------------------- == There is 1 instance of lines with non-ascii characters in the document. 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 (17 February 2023) is 437 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 (-15) exists of draft-ietf-lsr-ospfv3-srv6-extensions-09 ** Obsolete normative reference: RFC 7752 (Obsoleted by RFC 9552) == Outdated reference: A later version (-03) exists of draft-ietf-spring-srv6-yang-02 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: 21 August 2023 K. Talaulikar, Ed. 6 Cisco Systems 7 M. Chen 8 Huawei 9 D. Bernier 10 Bell Canada 11 B. Decraene 12 Orange 13 17 February 2023 15 BGP Link State Extensions for SRv6 16 draft-ietf-idr-bgpls-srv6-ext-14 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 21 August 2023. 49 Copyright Notice 51 Copyright (c) 2023 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 (https://trustee.ietf.org/ 56 license-info) in effect on the date of publication of this document. 57 Please review these documents carefully, as they describe your rights 58 and restrictions with respect to this document. Code Components 59 extracted from this document must include Revised BSD License text as 60 described in Section 4.e of the Trust Legal Provisions and are 61 provided without warranty as described in the Revised 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 . . . . . . . . . . . . . . . . . . . 11 76 5.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 11 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 9.3. SRv6 BGP EPE SID Flags . . . . . . . . . . . . . . . . . 19 87 10. Manageability Considerations . . . . . . . . . . . . . . . . 20 88 11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 89 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 90 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 91 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 92 14.1. Normative References . . . . . . . . . . . . . . . . . . 22 93 14.2. Informative References . . . . . . . . . . . . . . . . . 24 94 Appendix A. Differences with BGP-EPE for SR-MPLS . . . . . . . . 24 95 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 97 1. Introduction 99 SRv6 refers to Segment Routing instantiated on the IPv6 data-plane 100 [RFC8402]. An SRv6 Segment is often referred to by its SRv6 Segment 101 Identifier (SID). 103 The network programming paradigm [RFC8986] is central to SRv6. It 104 describes how different behaviors can be bound to SIDs and how a 105 network program can be expressed as a combination of SIDs. 107 An SRv6-capable node maintains all the SRv6 segments explicitly 108 instantiated locally. 110 The IS-IS and OSPFv3 link-state routing protocols have been extended 111 to advertise some of these SRv6 SIDs and SRv6-related information 112 [I-D.ietf-lsr-isis-srv6-extensions], 113 [I-D.ietf-lsr-ospfv3-srv6-extensions]. Other SRv6 SIDs may be 114 instantiated on a node via other mechanisms for topological or 115 service functionalities. 117 The advertisement of SR related information along with the topology 118 for the MPLS data-plane instantiation (SR-MPLS) is specified in 119 [RFC9085] and for the BGP Egress Peer Engineering (EPE) is specified 120 in [RFC9086]. On similar lines, introducing the SRv6 related 121 information in BGP-LS allows consumer applications that require 122 topological visibility to also receive the SRv6 SIDs from nodes 123 across an IGP domain or even across Autonomous Systems (AS), as 124 required. This allows applications to leverage the SRv6 capabilities 125 for network programming. 127 The identifying key of each Link-State object, namely a node, link, 128 or prefix, is encoded in the Network-Layer Reachability Information 129 (NLRI) and the properties of the object are encoded in the BGP-LS 130 Attribute [RFC7752]. 132 This document describes extensions to BGP-LS to advertise the SRv6 133 SIDs and other SRv6 information from all the SRv6 capable nodes in 134 the IGP domain when sourced from link-state routing protocols and 135 directly from individual SRv6 capable nodes (e.g. when sourced from 136 BGP for EPE). 138 1.1. Requirements Language 140 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 141 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 142 "OPTIONAL" in this document are to be interpreted as described in BCP 143 14 [RFC2119] [RFC8174] when, and only when, they appear in all 144 capitals, as shown here. 146 2. BGP-LS Extensions for SRv6 148 BGP-LS [RFC7752] defines the Node, Link, and Prefix Link-State 149 Network Layer Reachability Information (NLRI) types and the 150 advertisement of their attributes via BGP. 152 When a BGP-LS router advertises topology information that it sources 153 from the underlying link-state routing protocol, then it derives the 154 corresponding SRv6 information from the SRv6 extensions for IS-IS 155 [I-D.ietf-lsr-isis-srv6-extensions] or OSPFv3 156 [I-D.ietf-lsr-ospfv3-srv6-extensions], as applicable. In practice, 157 this derivation comprises a simple copy of the relevant fields from 158 the IS-IS/OSPFv3 TLV/sub-TLV into the fields of the corresponding 159 BGP-LS TLV/sub-TLV. When a BGP-LS router advertises topology 160 information from the BGP routing protocol (e.g., for EPE) or when it 161 advertises SRv6 SIDs associated with a node using Direct as the 162 Protocol-ID, then it derives the SRv6 information from the local 163 node. Such information is advertised only on behalf of the local 164 router, in contrast to the advertisement of information from all 165 nodes of an IGP domain when sourced from a link-state routing 166 protocol. 168 The SRv6 information pertaining to a node is advertised via the BGP- 169 LS Node NLRI and using the BGP-LS Attribute TLVs as follows: 171 * SRv6 Capabilities of the node are advertised via the SRv6 172 Capabilities TLV (Section 3.1). 174 * Maximum SID Depth (MSD) types introduced for SRv6 are advertised 175 (Section 3.2) using the Node MSD TLV specified in [RFC8814] 177 * Algorithm support for SRv6 is advertised via the SR-Algorithm TLV 178 specified in [RFC9085]. 180 The SRv6 information pertaining to a link is advertised via the BGP- 181 LS Link NLRI and using the BGP-LS Attribute TLVs as follows: 183 * SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer Adjacency 184 SID [RFC8402] is advertised via the SRv6 End.X SID TLV introduced 185 in this document (Section 4.1). 187 * SRv6 SID of the IGP Adjacency SID to a non-Designated Router (DR) 188 or non-Designated Intermediate-System (DIS) [RFC8402] is 189 advertised via the SRv6 LAN End.X SID TLV introduced in this 190 document (Section 4.2). 192 * MSD types introduced for SRv6 are advertised (Section 4.3) using 193 the Link MSD TLV specified in [RFC8814]. 195 The SRv6 information pertaining to a prefix is advertised via the 196 BGP-LS Prefix NLRI and using the BGP-LS Attribute TLVs as follows: 198 * SRv6 Locator is advertised via the SRv6 Locator TLV introduced in 199 this document (Section 5.1). 201 * The attributes of the SRv6 Locator are advertised via the Prefix 202 Attribute Flags TLV specified in [RFC9085]. 204 The SRv6 SIDs associated with the node are advertised using the BGP- 205 LS SRv6 SID NLRI introduced in this document (Section 6). This 206 enables the BGP-LS encoding to scale to cover a potentially large set 207 of SRv6 SIDs instantiated on a node with the granularity of 208 individual SIDs and without affecting the size and scalability of the 209 BGP-LS updates. Had the SRv6 SIDs been advertised within the BGP-LS 210 Link Attribute associated with the existing Node NLRI, the BGP-LS 211 update would have grown rather large with the increase in SRv6 SIDs 212 on the node and would have also required a large update message to be 213 generated for any change to even a single SRv6 SID. BGP-LS Attribute 214 TLVs for the SRv6 SID NLRI are introduced in this document as 215 follows: 217 * The endpoint behavior of the SRv6 SID is advertised via the SRv6 218 Endpoint Behavior TLV (Section 7.1). 220 * The BGP EPE Peer Node context for a PeerNode SID, and the Peer Set 221 context for a PeerSet SID [RFC8402] are advertised via the SRv6 222 BGP EPE Peer Node SID TLV (Section 7.2), 224 Subsequent sections of this document specify the encoding and usage 225 of these extensions. All the TLVs introduced follow the formats and 226 common field definitions provided in [RFC7752]. 228 3. SRv6 Node Attributes 230 The SRv6 attributes of a node are advertised using the BGP-LS 231 Attribute TLVs defined in this section and associated with the BGP-LS 232 Node NLRI. 234 3.1. SRv6 Capabilities TLV 236 This BGP-LS Attribute TLV is used to announce the SRv6 capabilities 237 of the node along with the BGP-LS Node NLRI and indicates the SRv6 238 support by the node. A single instance of this TLV MUST be included 239 in the BGP-LS attribute for each SRv6 capable node. The IS-IS SRv6 240 Capabilities sub-TLV [I-D.ietf-lsr-isis-srv6-extensions] and the 241 OSPFv3 SRv6 Capabilities TLV [I-D.ietf-lsr-ospfv3-srv6-extensions] 242 that map to this BGP-LS TLV are specified with the ability to carry 243 optional sub-sub-TLVs/sub-TLVs. However, no such extensions are 244 currently defined. Moreover, the SRv6 Capabilities TLV defined below 245 is not extensible. As a result, it is expected that any extensions 246 will be introduced as top-level TLVs in the BGP-LS Attribute. 248 0 1 2 3 249 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 250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 251 | Type | Length | 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 253 | Flags | Reserved | 254 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 256 Figure 1: SRv6 Capabilities TLV Format 258 Where: 260 * Type: 1038 262 * Length : 4. 264 * Flags: 2 octet field. The flags are copied from the IS-IS SRv6 265 Capabilities sub-TLV (section 2 of 266 [I-D.ietf-lsr-isis-srv6-extensions]) or from the OSPFv3 SRv6 267 Capabilities TLV (section 2 of 268 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or 269 OSPFv3 respectively. 271 * Reserved: 2 octet that MUST be set to 0 when originated and 272 ignored on receipt. 274 3.2. SRv6 Node MSD Types 276 The Node MSD TLV [RFC8814] of the BGP-LS Attribute of the Node NLRI 277 is also used to advertise the limits and the Segment Routing Header 278 (SRH) [RFC8754] operations supported by the SRv6 capable node. The 279 SRv6 MSD Types specified in section 4 of 280 [I-D.ietf-lsr-isis-srv6-extensions] are also used with the BGP-LS 281 Node MSD TLV as these code points are shared between IS-IS, OSPF and 282 BGP-LS protocols. The description and semantics of these new MSD- 283 types for BGP-LS are identical as specified in 284 [I-D.ietf-lsr-isis-srv6-extensions]. 286 Each MSD-type is encoded in the BGP-LS Node MSD TLV as a one-octet 287 type followed by a one-octet value as derived from the IS-IS or 288 OSPFv3 Node MSD advertisements as specified in [RFC8814]. 290 4. SRv6 Link Attributes 292 SRv6 attributes and SIDs associated with a link or adjacency are 293 advertised using the BGP-LS Attribute TLVs defined in this section 294 and associated with the BGP-LS Link NLRI. 296 4.1. SRv6 End.X SID TLV 298 The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs associated 299 with an IGP Adjacency SID behavior that correspond to a point-to- 300 point or point-to-multipoint link or adjacency of the node running 301 the IS-IS or OSPFv3 protocols. The information advertised via this 302 TLV is derived from the IS-IS SRv6 End.X SID sub-TLV (section 8.1 of 303 [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 End.X SID 304 sub-TLV (section 9.1 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the 305 case of IS-IS or OSPFv3 respectively. This TLV can also be used to 306 advertise the SRv6 SID corresponding to the underlying layer-2 member 307 links for a layer-3 bundle interface as a sub-TLV of the L2 Bundle 308 Member Attribute TLV [RFC9085]. 310 This TLV is also used by BGP-LS to advertise the BGP EPE Peer 311 Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in 312 [RFC9086]. The SRv6 SID for the BGP Peer Adjacency using End.X 313 behaviors (viz. End.X, End.X with PSP, End.X with USP, and End.X 314 with PSP & USP) [RFC8986] indicates the cross-connect to a specific 315 layer-3 link to the specific BGP session peer (neighbor). 317 More than one instance of this TLV can be included in the BGP-LS 318 Attribute; one for each SRv6 End.X SID. 320 The TLV has the following format: 322 0 1 2 3 323 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 324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 325 | Type | Length | 326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 327 | Endpoint Behavior | Flags | Algorithm | 328 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 329 | Weight | Reserved | SID (16 octets) ... | 330 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 331 | SID (cont ...) | 332 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 333 | SID (cont ...) | 334 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 335 | SID (cont ...) | 336 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 337 | SID (cont ...) | Sub-TLVs (variable) . . . 338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 340 Figure 2: SRv6 End.X TLV Format 342 Where: 344 Type: 1106 346 Length: variable 348 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 349 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 351 Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 352 End.X SID sub-TLV (section 8.1 of 353 [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 End.X SID 354 sub-TLV (section 9.1 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in 355 the case of IS-IS or OSPFv3 respectively. In the case of BGP EPE 356 Peer Adjacency SID, the flags are as defined in Section 7.2. 358 Algorithm: 1 octet field. Algorithm associated with the SID. 360 Weight: 1 octet field. The value represents the weight of the SID 361 for the purpose of load balancing. The use of the weight is 362 defined in [RFC8402]. 364 Reserved: 1 octet field that MUST be set to 0 when originated and 365 ignored on receipt. 367 SID: 16 octet field. This field encodes the advertised SRv6 SID 368 as 128 bit value. 370 Sub-TLVs : Used to advertise sub-TLVs that provide additional 371 attributes for the specific SRv6 SID. This document defines one 372 in Section 8. 374 4.2. SRv6 LAN End.X SID TLV 376 For a LAN interface, an IGP node ordinarily announces only its 377 adjacency to the IS-IS pseudo-node (or the equivalent OSPF DR). The 378 information advertised via this TLV is derived from the IS-IS SRv6 379 LAN End.X SID sub-TLV (section 8.2 of 380 [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 LAN End.X 381 sub-TLV (section 9.2 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the 382 case of IS-IS or OSPFv3 respectively. The SRv6 LAN End.X SID TLV 383 allows a node to announce the SRv6 SID corresponding to its 384 adjacencies to all other (i.e., non-DIS or non-DR) nodes attached to 385 the LAN in a single instance of the BGP-LS Link NLRI. Without this 386 TLV, multiple BGP-LS Link NLRIs would need to be originated, one for 387 each neighbor, to advertise the SRv6 End.X SID TLVs for those non- 388 DIS/non-DR neighbors. The SRv6 SID for these IGP adjacencies using 389 the End.X behaviors (viz. End.X, End.X with PSP, End.X with USP, and 390 End.X with PSP & USP) [RFC8986] are advertised using the SRv6 LAN 391 End.X SID TLV. 393 More than one instance of this TLV can be included in the BGP-LS 394 Attribute; one for each SRv6 LAN End.X SID. 396 The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN End.X 397 SID TLVs have the following format: 399 0 1 2 3 400 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 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 | Type | Length | 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 404 | Endpoint Behavior | Flags | Algorithm | 405 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 406 | Weight | Reserved | Neighbor ID - | 407 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 408 | IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | 409 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 410 | SID (16 octets) ... | 411 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 412 | SID (cont ...) | 413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 414 | SID (cont ...) | 415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 | SID (cont ...) | 417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 418 | Sub-TLVs (variable) . . . 419 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 421 Figure 3: SRv6 LAN End.X SID TLV Format 423 Where: 425 * Type: 1107 in case of IS-IS and 1108 in case of OSPFv3 427 * Length: variable 429 * Endpoint Behavior: 2 octet field. The Endpoint Behavior code 430 point for this SRv6 SID as defined in section 10.2 of [RFC8986]. 432 * Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 433 LAN End.X SID sub-TLV (section 8.2 of 434 [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 LAN End.X 435 SID sub-TLV (section 9.2 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) 436 in the case of IS-IS or OSPFv3 respectively. 438 * Algorithm: 1 octet field. Algorithm associated with the SID. 440 * Weight: 1 octet field. The value represents the weight of the SID 441 for the purpose of load balancing. 443 * Reserved: 1 octet field that MUST be set to 0 when originated and 444 ignored on receipt. 446 * Neighbor ID : 6 octets of Neighbor System-ID in IS-IS SRv6 LAN 447 End.X SID TLV or 4 octets of Neighbor Router-id in the OSPFv3 SRv6 448 LAN End.X SID TLV. 450 * SID: 16 octet field. This field encodes the advertised SRv6 SID 451 as 128 bit value. 453 * Sub-TLVs : Used to advertise sub-TLVs that provide additional 454 attributes for the specific SRv6 SID. This document defines one 455 in Section 8. 457 4.3. SRv6 Link MSD Types 459 The Link MSD TLV [RFC8814] of the BGP-LS Attribute of the Link NLRI 460 is also used to advertise the limits and the SRH operations supported 461 on the specific link by the SRv6 capable node. The SRv6 MSD Types 462 specified in section 4 of[I-D.ietf-lsr-isis-srv6-extensions] are also 463 used with the BGP-LS Link MSD TLV as these code points are shared 464 between IS-IS, OSPF, and BGP-LS protocols. The description and 465 semantics of these new MSD types for BGP-LS are identical as 466 specified in [I-D.ietf-lsr-isis-srv6-extensions]. 468 Each MSD-type is encoded in the BGP-LS Link MSD TLV as a one-octet 469 type followed by a one-octet value as derived from the IS-IS or 470 OSPFv3 Link MSD advertisements as specified in [RFC8814]. 472 5. SRv6 Prefix Attributes 474 SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS 475 Attribute TLVs defined in this section and associated with the BGP-LS 476 Prefix NLRI. 478 5.1. SRv6 Locator TLV 480 As specified in [RFC8986], an SRv6 SID comprises Locator, Function 481 and Argument parts. 483 A node is provisioned with one or more Locators supported by that 484 node. Locators are covering prefixes for the set of SIDs provisioned 485 on that node. Each Locator is advertised as a BGP-LS Prefix NLRI 486 object along with the SRv6 Locator TLV in its BGP-LS Attribute. 488 The information advertised via this TLV is derived from the IS-IS 489 SRv6 Locator TLV (section 7.1 of [I-D.ietf-lsr-isis-srv6-extensions]) 490 or the OSPFv3 SRv6 Locator TLV (section 7.1 of 491 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or OSPFv3 492 respectively. 494 The IPv6 Prefix matching the Locator may be also advertised as prefix 495 reachability by the underlying routing protocol. In this case, the 496 Prefix NLRI would be also associated with the Prefix Metric TLV 497 [RFC7752] that carries the routing metric for this prefix. A Prefix 498 NLRI, that has been advertised with a SRv6 Locator TLV, is also 499 considered a normal routing prefix (i.e., prefix reachability) only 500 when there is also an IGP metric TLV (TLV 1095) associated it. 501 Otherwise, it is considered only as an SRv6 Locator advertisement. 503 The SRv6 Locator TLV has the following format: 505 0 1 2 3 506 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 507 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 508 | Type | Length | 509 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 510 | Flags | Algorithm | Reserved | 511 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 512 | Metric | 513 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 514 | Sub-TLVs (variable) . . . 515 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 517 Figure 4: SRv6 Locator TLV Format 519 Where: 521 Type: 1162 523 Length: variable 525 Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 526 Locator TLV (section 7.1 of [I-D.ietf-lsr-isis-srv6-extensions]) 527 or the OSPFv3 SRv6 Locator TLV (section 7.1 of 528 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or 529 OSPFv3 respectively. 531 Algorithm: 1 octet field. Algorithm associated with the SID. 533 Reserved: 2 octet field. The value MUST be set to 0 when 534 originated and ignored on receipt. 536 Metric: 4 octet field. The value of the metric for the Locator 537 copied from the IS-IS SRv6 Locator TLV (section 7.1 of 538 [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 Locator 539 TLV (section 7.1 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the 540 case of IS-IS or OSPFv3 respectively. 542 Sub-TLVs : Used to advertise sub-TLVs that provide additional 543 attributes for the given SRv6 Locator. Currently, none are 544 defined. 546 6. SRv6 SID NLRI 548 The "Link-State NLRI" defined in [RFC7752] is extended to carry the 549 SRv6 SID information. 551 A new "Link-State NLRI Type" is defined for SRv6 SID information as 552 follows: 554 * Link-State NLRI Type: SRv6 SID NLRI (value 6). 556 The SRv6 SIDs associated with the node are advertised using the BGP- 557 LS SRv6 SID NLRI. 559 The format of this new NLRI type is as shown in the following figure: 561 0 1 2 3 562 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 563 +-+-+-+-+-+-+-+-+ 564 | Protocol-ID | 565 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 566 | Identifier | 567 | (8 octets) | 568 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 569 | Local Node Descriptors (variable) // 570 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 571 | SRv6 SID Descriptors (variable) // 572 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 574 Figure 5: SRv6 SID NLRI Format 576 Where: 578 * Protocol-ID: 1-octet field that specifies the information source 579 protocol [RFC7752]. 581 * Identifier: 8 octet value as defined in [RFC7752]. 583 * Local Node Descriptors TLV: set of Node Descriptor TLVs for the 584 local node, as defined in [RFC7752] for IGPs, direct, and static 585 configuration or as defined in [RFC9086] for BGP protocol. 587 * SRv6 SID Descriptors: set of SRv6 SID Descriptor TLVs. This field 588 MUST contain a single SRv6 SID Information TLV (Section 6.1) and 589 MAY contain the Multi-Topology Identifier TLV [RFC7752]. 591 New TLVs for advertisement within the BGP-LS Attribute [RFC7752] are 592 defined in Section 7 to carry the attributes of an SRv6 SID. 594 6.1. SRv6 SID Information TLV 596 An SRv6 SID that is associated with the node and advertised using the 597 SRv6 SID NLRI is encoded using the SRv6 SID Information TLV. 599 When advertising the SRv6 SIDs from the IGPs, the SID information is 600 derived from the IS-IS SRv6 End SID sub-TLV (section 7.2 of 601 [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 End SID sub- 602 TLV (section 8 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case 603 of IS-IS or OSPFv3 respectively. 605 The TLV carries the SRv6 SIDs corresponding to the BGP PeerNode and 606 PeerSet SID [RFC8402] when SRv6 BGP EPE functionality is enabled in 607 BGP. 609 The TLV has the following format: 611 0 1 2 3 612 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 613 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 614 | Type | Length | 615 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 616 | SID (16 octets) ... | 617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 618 | SID (cont ...) | 619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 620 | SID (cont ...) | 621 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 622 | SID (cont ...) | 623 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 Figure 6: SRv6 SID Information TLV Format 627 Where: 629 Type: 518 631 Length: 16. 633 SID: 16 octet field. This field encodes the advertised SRv6 SID 634 as 128 bit value. 636 7. SRv6 SID Attributes 638 This section specifies the TLVs to be carried in the BGP Link State 639 Attribute associated with the BGP-LS SRv6 SID NLRI. 641 7.1. SRv6 Endpoint Behavior TLV 643 Each SRv6 SID instantiated on an SRv6 capable node has specific 644 instructions (called behavior) bound to it. [RFC8986] describes how 645 behaviors are bound to a SID and also defines the initial set of 646 well-known behaviors. 648 The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be 649 included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID 650 NLRI. 652 When advertising the SRv6 SIDs from the IGPs, the Endpoint behavior, 653 Flags, and Algorithm are derived from the IS-IS SRv6 End SID sub-TLV 654 (section 7.2 of [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 655 SRv6 End SID sub-TLV (section 8 of 656 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or OSPFv3 657 respectively. 659 When advertising the SRv6 SIDs corresponding to the BGP EPE 660 functionality, the Endpoint Behavior corresponds to End.X and similar 661 behaviors. When advertising the SRv6 SIDs that are locally 662 instantiated on the node using Direct as the Protoocl-ID, The 663 Endpoint Behavior corresponds to any SRv6 Endpoint Behavior 664 associated with the node. Flags are currently not defined. The 665 algorithm value MUST be 0 unless an algorithm is associated locally 666 with the SRv6 Locator from which the SID is allocated. 668 The TLV has the following format: 670 0 1 2 3 671 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 672 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 673 | Type | Length | 674 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 675 | Endpoint Behavior | Flags | Algorithm | 676 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 678 Figure 7: SRv6 Endpoint Behavior TLV 680 Where: 682 Type: 1250 683 Length: 4. 685 Endpoint Behavior: 2 octet field. The Endpoint Behavior code 686 point for this SRv6 SID. Support values are those from the "SRv6 687 Endpoint Behaviors" IANA registry (as established via section 10.2 688 of [RFC8986]). 690 Flags: 1 octet of flags. The flags map to the IS-IS or OSPFv3 691 encodings when advertising SRv6 SIDs corresponding to IGPs. For 692 SRv6 SIDs corresponding to BGP EPE and when advertising SRv6 SID 693 using Direct Protocol-ID, none are defined currently and they MUST 694 be set to 0 when originated and ignored on receipt. 696 Algorithm: 1 octet field. Algorithm associated with the SID. 698 7.2. SRv6 BGP Peer Node SID TLV 700 The BGP PeerNode SID and PeerSet SID for SR-MPLS are specified in 701 [RFC9086]. Similar Peer Node and Peer Set functionality can be 702 realized with SRv6 using SIDs with END.X behavior. Refer to 703 Appendix A for some differences between the signaling of these SIDs 704 in SR-MPLS and SRv6. The SRv6 BGP Peer Node SID TLV is a mandatory 705 TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI advertised 706 by BGP for the EPE functionality. This TLV MUST be included along 707 with SRv6 SIDs that are associated with the BGP PeerNode or PeerSet 708 functionality. 710 The TLV has the following format: 712 0 1 2 3 713 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 714 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 715 | Type | Length | 716 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 717 | Flags | Weight | Reserved | 718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 719 | Peer AS Number | 720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 721 | Peer BGP Identifier | 722 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 724 Figure 8: SRv6 BGP Peer Node SID TLV Format 726 Where: 728 * Type: 1251 730 * Length: 12 731 * Flags: 1 octet of flags with the following definition: 733 0 1 2 3 4 5 6 7 734 +-+-+-+-+-+-+-+-+ 735 |B|S|P| | 736 +-+-+-+-+-+-+-+-+ 738 Figure 9: SRv6 BGP EPE SID Flags Format 740 - B-Flag: Backup Flag. If set, the SID is eligible to be 741 protected using fast reroute (FRR). The computation of the 742 backup forwarding path and its association with the forwarding 743 entry for the Peer BGP Identifier is implementation specific. 745 - S-Flag: Set Flag. When set, the S-Flag indicates that the SID 746 refers to a set of BGP peering sessions (i.e., BGP Peer Set SID 747 functionality) and therefore MAY be assigned to one or more 748 End.X SIDs associated with BGP peer sessions. 750 - P-Flag: Persistent Flag: When set, the P-Flag indicates that 751 the SID is persistently allocated, i.e., the value remains 752 consistent across router restart and/or session flap. 754 - Other bits are reserved for future use and MUST be set to 0 755 when originated and ignored on receipt. 757 The flags defined above are also used with the SRv6 End.X SID TLV 758 when advertising SRv6 BGP Peer Adjacency SID (Section 4.1). 760 * Weight: 1 octet field. The value represents the weight of the SID 761 for the purpose of load balancing. The use of the weight is 762 defined in [RFC8402]. 764 * Reserved: 2 octet field. The value MUST be set to 0 when 765 originated and ignored on receipt. 767 * Peer AS Number : 4 octets of BGP AS number of the peer router. 769 * Peer BGP Identifier : 4 octets of the BGP Identifier (BGP Router- 770 ID) of the peer router. 772 For an SRv6 BGP EPE Peer Node SID, one instance of this TLV is 773 associated with the SRv6 SID. For SRv6 BGP EPE Peer Set SID, 774 multiple instances of this TLV (one for each peer in the “peer set”) 775 are associated with the SRv6 SID and the S-Flag is SET. 777 8. SRv6 SID Structure TLV 779 The SRv6 SID Structure TLV is used to advertise the length of each 780 individual part of the SRv6 SID as defined in [RFC8986]. It is an 781 optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI and 782 as a sub-TLV of the SRv6 End.X SID, IS-IS SRv6 LAN End.X SID, and 783 OSPFv3 SRv6 LAN End.X SID TLVs. 785 When advertising SRv6 SIDs from the IGPs, the SRv6 SID Structure 786 information is derived from the IS-IS SRv6 SID Structure sub-sub-TLV 787 (section 9 of [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 788 SID Structure sub-TLV (section 10 of 789 [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or OSPFv3 790 respectively. 792 When advertising the SRv6 SIDs corresponding to the BGP EPE 793 functionality or for advertising SRv6 SIDs using Direct Protocol-ID, 794 the SRv6 SID Structure information is derived from the locally 795 provisioned SRv6 SID. 797 The TLV has the following format: 799 0 1 2 3 800 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 801 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 802 | Type | Length | 803 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 804 | LB Length | LN Length | Fun. Length | Arg. Length | 805 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 807 Figure 10: SRv6 SID Structure TLV 809 Where: 811 Type: 1252 813 Length: 4 815 LB Length: 1 octet field. SRv6 SID Locator Block length in bits. 817 LN Length: 1 octet field. SRv6 SID Locator Node length in bits. 819 Fun. Length: 1 octet field. SRv6 SID Function length in bits. 821 Arg. Length: 1 octet field. SRv6 SID Argument length in bits. 823 The sum of the LB Length, LN Length, Func. Length, and Arg. Length 824 MUST be less than or equal to 128. 826 9. IANA Considerations 828 This document requests assigning code points from the IANA "Border 829 Gateway Protocol - Link State (BGP-LS) Parameters" registry group as 830 described in the subsections below. 832 9.1. BGP-LS NLRI-Types 834 The following code points have been assigned by IANA from the 835 registry called "BGP-LS NLRI-Types": 837 +------+----------------------------+---------------+ 838 | Type | NLRI Type | Reference | 839 +------+----------------------------+---------------+ 840 | 6 | SRv6 SID NLRI | this document | 841 +------+----------------------------+---------------+ 843 Figure 11: SRv6 SID NLRI Type Code Point 845 9.2. BGP-LS TLVs 847 The following TLV code points have been assigned by IANA from the 848 registry called "BGP-LS Node Descriptor, Link Descriptor, Prefix 849 Descriptor, and Attribute TLVs": 851 +----------+----------------------------------------+---------------+ 852 | TLV Code | Description | Value defined | 853 | Point | | in | 854 +----------+----------------------------------------+---------------+ 855 | 518 | SRv6 SID Information | this document | 856 | 1038 | SRv6 Capabilities | this document | 857 | 1106 | SRv6 End.X SID | this document | 858 | 1107 | IS-IS SRv6 LAN End.X SID | this document | 859 | 1108 | OSPFv3 SRv6 LAN End.X SID | this document | 860 | 1162 | SRv6 Locator | this document | 861 | 1250 | SRv6 Endpoint Behavior | this document | 862 | 1251 | SRv6 BGP Peer Node SID | this document | 863 | 1252 | SRv6 SID Structure | this document | 864 +----------+----------------------------------------+---------------+ 866 Figure 12: SRv6 BGP-LS Attribute TLV Code Points 868 9.3. SRv6 BGP EPE SID Flags 870 This document requests the creation of a new registry called "SRv6 871 BGP EPE SID Flags" under the "Border Gateway Protocol - Link State 872 (BGP-LS) Parameters" registry group. The allocation policy of this 873 registry is "Standards Action" according to [RFC8126]. 875 The following flags are defined: 877 Bit Description Reference 878 --------------------------------------------------- 879 0 Backup Flag (B-Flag) This document 880 1 Set Flag (S-Flag) This document 881 2 Persistent Flag (P-Flag) This document 882 3-7 Unassigned 884 Figure 13: SRv6 BGP EPE SID Flags 886 10. Manageability Considerations 888 This section is structured as recommended in [RFC5706]. 890 The new protocol extensions introduced in this document augment the 891 existing IGP topology information that is distributed via [RFC7752]. 892 Procedures and protocol extensions defined in this document do not 893 affect the BGP protocol operations and management other than as 894 discussed in the Manageability Considerations section of [RFC7752]. 895 Specifically, the malformed attribute tests for syntactic checks in 896 the Fault Management section of [RFC7752] now encompass the new BGP- 897 LS extensions defined in this document. The semantic or content 898 checking for the TLVs specified in this document and their 899 association with the BGP-LS NLRI types or their BGP-LS Attribute is 900 left to the consumer of the BGP-LS information (e.g., an application 901 or a controller) and not the BGP protocol. 903 The SR information introduced in BGP-LS by this specification may be 904 used by BGP-LS consumer applications like an SR path computation 905 engine (PCE) to learn the SRv6 capabilities of the nodes in the 906 topology and the mapping of SRv6 segments to those nodes. This can 907 enable the SR PCE to perform path computations based on SR for 908 traffic engineering use-cases and to steer traffic on paths different 909 from the underlying IGP based distributed best path computation. 910 Errors in the encoding or decoding of the SRv6 information may result 911 in the unavailability of such information to the SR PCE or incorrect 912 information being made available to it. This may result in the SR 913 PCE not being able to perform the desired SR-based optimization 914 functionality or to perform it in an unexpected or inconsistent 915 manner. The handling of such errors by applications like SR PCE may 916 be implementation-specific and out of the scope of this document. 918 The manageability considerations related to BGP EPE functionality are 919 discussed in [RFC9086] in the context of SR-MPLS and they also apply 920 to this document in the context of SRv6. 922 The extensions, specified in this document, do not introduce any new 923 configuration or monitoring aspects in BGP or BGP-LS other than as 924 discussed in [RFC7752]. The manageability aspects of the underlying 925 SRv6 features are covered by [I-D.ietf-spring-srv6-yang]. 927 11. Security Considerations 929 The new protocol extensions introduced in this document augment the 930 existing IGP topology information that is distributed via [RFC7752]. 931 The advertisement of the SRv6 link-state information defined in this 932 document presents a similar risk as associated with the existing set 933 of link-state information as described in [RFC7752]. The Security 934 Considerations section of [RFC7752] also applies to these extensions. 935 The procedures and new TLVs defined in this document, by themselves, 936 do not affect the BGP-LS security model discussed in [RFC7752]. 938 The extensions introduced in this document are used to propagate IGP 939 defined information ([I-D.ietf-lsr-isis-srv6-extensions] and 940 [I-D.ietf-lsr-ospfv3-srv6-extensions]). These extensions represent 941 the advertisement of SRv6 information associated with the IGP node, 942 link, and prefix. The IGP instances originating these TLVs are 943 assumed to support all the required security and authentication 944 mechanisms (as described in [I-D.ietf-lsr-isis-srv6-extensions] and 945 [I-D.ietf-lsr-ospfv3-srv6-extensions]). 947 The security considerations related to BGP EPE functionality are 948 discussed in [RFC9086] in the context of SR-MPLS and they also apply 949 to this document in the context of SRv6. 951 BGP-LS SRv6 extensions enable traffic engineering use-cases within 952 the Segment Routing domain. SR operates within a trusted domain 953 [RFC8402] and its security considerations also apply to BGP-LS 954 sessions when carrying SR information. The SR traffic engineering 955 policies using the SIDs advertised via BGP-LS are expected to be used 956 entirely within this trusted SR domain (e.g., between multiple AS or 957 IGP domains within a single provider network). Therefore, precaution 958 is necessary to ensure that the link-state information (including 959 SRv6 information) advertised via BGP-LS sessions is securely limited 960 to consumers within this trusted SR domain. BGP peering sessions for 961 address-families other than Link-State may be set up to routers 962 outside the SR domain. The isolation of BGP-LS peering sessions is 963 RECOMMENDED to ensure that BGP-LS topology information (including the 964 newly added SR information) is not advertised to an external BGP 965 peering session outside the SR domain. 967 12. Contributors 968 James Uttaro 969 AT&T 970 USA 971 Email: ju1738@att.com 973 Hani Elmalky 974 Ericsson 975 USA 976 Email: hani.elmalky@gmail.com 978 Arjun Sreekantiah 979 Individual 980 USA 981 Email: arjunhrs@gmail.com 983 Les Ginsberg 984 Cisco Systems 985 USA 986 Email: ginsberg@cisco.com 988 Shunwan Zhuang 989 Huawei 990 China 991 Email: zhuangshunwan@huawei.com 993 13. Acknowledgements 995 The authors would like to thank Peter Psenak, Arun Babu, Pablo 996 Camarillo, Francois Clad, Peng Shaofu, Cheng Li, Dhruv Dhody, Tom 997 Petch, and Dan Romascanu for their review of this document and their 998 comments. The authors would also like to thank Susan Hares for her 999 shepherd review and Adrian Farrel for his detailed Routing 1000 Directorate review. 1002 14. References 1004 14.1. Normative References 1006 [I-D.ietf-lsr-isis-srv6-extensions] 1007 Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and 1008 Z. Hu, "IS-IS Extensions to Support Segment Routing over 1009 IPv6 Dataplane", Work in Progress, Internet-Draft, draft- 1010 ietf-lsr-isis-srv6-extensions-19, 14 November 2022, 1011 . 1014 [I-D.ietf-lsr-ospfv3-srv6-extensions] 1015 Li, Z., Hu, Z., Talaulikar, K., and P. Psenak, "OSPFv3 1016 Extensions for SRv6", Work in Progress, Internet-Draft, 1017 draft-ietf-lsr-ospfv3-srv6-extensions-09, 14 January 2023, 1018 . 1021 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1022 Requirement Levels", BCP 14, RFC 2119, 1023 DOI 10.17487/RFC2119, March 1997, 1024 . 1026 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 1027 S. Ray, "North-Bound Distribution of Link-State and 1028 Traffic Engineering (TE) Information Using BGP", RFC 7752, 1029 DOI 10.17487/RFC7752, March 2016, 1030 . 1032 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1033 Writing an IANA Considerations Section in RFCs", BCP 26, 1034 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1035 . 1037 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1038 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1039 May 2017, . 1041 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 1042 Decraene, B., Litkowski, S., and R. Shakir, "Segment 1043 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 1044 July 2018, . 1046 [RFC8814] Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., 1047 and N. Triantafillis, "Signaling Maximum SID Depth (MSD) 1048 Using the Border Gateway Protocol - Link State", RFC 8814, 1049 DOI 10.17487/RFC8814, August 2020, 1050 . 1052 [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, 1053 D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 1054 (SRv6) Network Programming", RFC 8986, 1055 DOI 10.17487/RFC8986, February 2021, 1056 . 1058 [RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, 1059 H., and M. Chen, "Border Gateway Protocol - Link State 1060 (BGP-LS) Extensions for Segment Routing", RFC 9085, 1061 DOI 10.17487/RFC9085, August 2021, 1062 . 1064 [RFC9086] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Patel, K., 1065 Ray, S., and J. Dong, "Border Gateway Protocol - Link 1066 State (BGP-LS) Extensions for Segment Routing BGP Egress 1067 Peer Engineering", RFC 9086, DOI 10.17487/RFC9086, August 1068 2021, . 1070 14.2. Informative References 1072 [I-D.ietf-spring-srv6-yang] 1073 Raza, S., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, 1074 H. C., Voyer, D., Matsushima, S., Horiba, K., 1075 Rajamanickam, J., and A. Abdelsalam, "YANG Data Model for 1076 SRv6 Base and Static", Work in Progress, Internet-Draft, 1077 draft-ietf-spring-srv6-yang-02, 23 September 2022, 1078 . 1081 [RFC5706] Harrington, D., "Guidelines for Considering Operations and 1082 Management of New Protocols and Protocol Extensions", 1083 RFC 5706, DOI 10.17487/RFC5706, November 2009, 1084 . 1086 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 1087 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 1088 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 1089 . 1091 Appendix A. Differences with BGP-EPE for SR-MPLS 1093 The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as 1094 defined in this document differ from the signaling of SR-MPLS BGP-EPE 1095 SIDs as specified in [RFC9086]. This section provides a high-level 1096 overview of the same. 1098 There is no difference in the advertisement of the BGP Peer Adjacency 1099 SID in both SR-MPLS and SRv6 and it is advertised as an attribute of 1100 the Link NLRI which identifies a specific Layer 3 interface on the 1101 BGP Speaker. The difference is in the advertisement of the BGP Peer 1102 Node and Peer Set SIDs. 1104 In case of SR-MPLS, an additional Link NLRI is required to be 1105 advertised corresponding to each BGP Peering session on the node. 1106 Note that, this is not the same Link NLRI associated with the actual 1107 layer 3 interface even when the peering is set up using the interface 1108 IP addresses. These BGP-LS Link NLRIs are not really links in the 1109 conventional link-state routing data model but instead identify BGP 1110 peering sessions. The BGP Peer Node and/or Peer Set SIDs associated 1111 with that peering session are advertised as attributes associated 1112 with this peering Link NLRI. In the case of SRv6, each BGP Peer Node 1113 or Peer Set SID is considered to be associated with the BGP Speaker 1114 node and is advertised using the BGP-LS SRv6 SID NLRI while the 1115 peering session information is advertised as attributes associated 1116 with it. 1118 The advertisement of the BGP Peer Set SID for SR-MPLS is done by 1119 including that SID as an attribute in all the Link NLRIs 1120 corresponding to the peering sessions that are part of the "set". 1121 The advertisement of the BGP Peer Set SID for SRv6 is advertised 1122 using a single SRv6 SID NLRI and all the peers associated with that 1123 "set" are indicated as attributes associated with the NLRI. 1125 Authors' Addresses 1127 Gaurav Dawra 1128 LinkedIn 1129 United States of America 1130 Email: gdawra.ietf@gmail.com 1132 Clarence Filsfils 1133 Cisco Systems 1134 Belgium 1135 Email: cfilsfil@cisco.com 1137 Ketan Talaulikar (editor) 1138 Cisco Systems 1139 India 1140 Email: ketant.ietf@gmail.com 1142 Mach Chen 1143 Huawei 1144 China 1145 Email: mach.chen@huawei.com 1146 Daniel Bernier 1147 Bell Canada 1148 Canada 1149 Email: daniel.bernier@bell.ca 1151 Bruno Decraene 1152 Orange 1153 France 1154 Email: bruno.decraene@orange.com