idnits 2.17.1 draft-ietf-idr-bgpls-segment-routing-epe-12.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 (April 28, 2017) is 2549 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-spring-segment-routing-11 == Outdated reference: A later version (-18) exists of draft-ietf-idr-bgp-ls-segment-routing-ext-01 == Outdated reference: A later version (-10) exists of draft-ietf-spring-segment-routing-central-epe-05 -- Obsolete informational reference (is this intentional?): RFC 7752 (Obsoleted by RFC 9552) Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Previdi, Ed. 3 Internet-Draft C. Filsfils 4 Intended status: Standards Track Cisco Systems, Inc. 5 Expires: October 30, 2017 K. Patel 6 Arrcus, Inc. 7 S. Ray 8 Individual Contributor 9 J. Dong 10 Huawei Technologies 11 April 28, 2017 13 BGP-LS extensions for Segment Routing BGP Egress Peer Engineering 14 draft-ietf-idr-bgpls-segment-routing-epe-12 16 Abstract 18 Segment Routing (SR) leverages source routing. A node steers a 19 packet through a controlled set of instructions, called segments, by 20 prepending the packet with an SR header. A segment can represent any 21 instruction, topological or service-based. SR allows to enforce a 22 flow through any topological path and service chain while maintaining 23 per-flow state only at the ingress node of the SR domain. 25 The Segment Routing architecture can be directly applied to the MPLS 26 dataplane with no change on the forwarding plane. It requires minor 27 extension to the existing link-state routing protocols. 29 This document outline a BGP-LS extension for exporting BGP peering 30 node topology information (including its peers, interfaces and 31 peering ASs) in a way that is exploitable in order to compute 32 efficient BGP Peering Engineering policies and strategies. 34 Requirements Language 36 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 37 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 38 document are to be interpreted as described in RFC 2119 [RFC2119]. 40 Status of This Memo 42 This Internet-Draft is submitted in full conformance with the 43 provisions of BCP 78 and BCP 79. 45 Internet-Drafts are working documents of the Internet Engineering 46 Task Force (IETF). Note that other groups may also distribute 47 working documents as Internet-Drafts. The list of current Internet- 48 Drafts is at http://datatracker.ietf.org/drafts/current/. 50 Internet-Drafts are draft documents valid for a maximum of six months 51 and may be updated, replaced, or obsoleted by other documents at any 52 time. It is inappropriate to use Internet-Drafts as reference 53 material or to cite them other than as "work in progress." 55 This Internet-Draft will expire on October 30, 2017. 57 Copyright Notice 59 Copyright (c) 2017 IETF Trust and the persons identified as the 60 document authors. All rights reserved. 62 This document is subject to BCP 78 and the IETF Trust's Legal 63 Provisions Relating to IETF Documents 64 (http://trustee.ietf.org/license-info) in effect on the date of 65 publication of this document. Please review these documents 66 carefully, as they describe your rights and restrictions with respect 67 to this document. Code Components extracted from this document must 68 include Simplified BSD License text as described in Section 4.e of 69 the Trust Legal Provisions and are provided without warranty as 70 described in the Simplified BSD License. 72 Table of Contents 74 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 75 2. Segment Routing Documents . . . . . . . . . . . . . . . . . . 3 76 3. BGP Peering Segments . . . . . . . . . . . . . . . . . . . . 4 77 4. Link NLRI for BGP-EPE Connectivity Description . . . . . . . 5 78 4.1. BGP Router ID and Member ASN . . . . . . . . . . . . . . 5 79 4.2. Mandatory BGP-EPE Node Descriptors . . . . . . . . . . . 6 80 4.3. Optional BGP-EPE Node Descriptors . . . . . . . . . . . . 7 81 4.4. Link Attributes . . . . . . . . . . . . . . . . . . . . . 7 82 5. Peer-Node and Peer-Adj SIDs . . . . . . . . . . . . . . . . . 9 83 5.1. Peer-Node-SID . . . . . . . . . . . . . . . . . . . . . . 10 84 5.2. Peer-Adj-SID . . . . . . . . . . . . . . . . . . . . . . 11 85 5.3. Peer-Set-SID . . . . . . . . . . . . . . . . . . . . . . 12 86 6. Illustration . . . . . . . . . . . . . . . . . . . . . . . . 12 87 6.1. Reference Diagram . . . . . . . . . . . . . . . . . . . . 12 88 6.2. Peer-Node-SID for Node D . . . . . . . . . . . . . . . . 14 89 6.3. Peer-Node-SID for Node F . . . . . . . . . . . . . . . . 15 90 6.4. Peer-Node-SID for Node E . . . . . . . . . . . . . . . . 15 91 6.5. Peer-Adj-SID for Node E, Link 1 . . . . . . . . . . . . . 15 92 6.6. Peer-Adj-SID for Node E, Link 2 . . . . . . . . . . . . . 16 93 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 16 94 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 95 8.1. New BGP-LS Protocol-ID . . . . . . . . . . . . . . . . . 17 96 8.2. Node Descriptors and Link Attribute TLVs . . . . . . . . 18 97 9. Manageability Considerations . . . . . . . . . . . . . . . . 18 98 10. Security Considerations . . . . . . . . . . . . . . . . . . . 19 99 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 100 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 101 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 102 13.1. Normative References . . . . . . . . . . . . . . . . . . 19 103 13.2. Informative References . . . . . . . . . . . . . . . . . 20 104 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 106 1. Introduction 108 Segment Routing (SR) leverages source routing. A node steers a 109 packet through a controlled set of instructions, called segments, by 110 prepending the packet with an SR header with segment identifiers 111 (SID). A SID can represent any instruction, topological or service- 112 based. SR allows to enforce a flow through any topological path and 113 service chain while maintaining per-flow state only at the ingress 114 node of the SR domain. 116 The Segment Routing architecture can be directly applied to the MPLS 117 dataplane with no change on the forwarding plane. It requires minor 118 extension to the existing link-state routing protocols. 120 This document outline a BGP-LS extension for exporting BGP peering 121 node topology information (including its peers, interfaces and 122 peering ASs) in a way that is exploitable in order to compute 123 efficient BGP Egress Peer Engineering (BGP-EPE) policies and 124 strategies. 126 This document defines the BGP-LS extensions required to support the 127 Peer Node SID describing the BGP session between two nodes, the Peer 128 Adjacency SID describing the link (one or more) that is used by the 129 BGP session and the Peer Set SID describing an arbitrary set of 130 sessions or links between the local BGP node and its peers. These 131 SIDs represent the segments defined in 132 [I-D.ietf-spring-segment-routing-central-epe]. 134 While an egress point topology usually refers to eBGP sessions 135 between external peers, there's nothing in the extensions defined in 136 this document that would prevent the use of these extensions in the 137 context of iBGP sessions. 139 2. Segment Routing Documents 141 The main reference for this document is the SR architecture defined 142 in [I-D.ietf-spring-segment-routing]. 144 The Segment Routing BGP Egress Peer Engineering (BGP-EPE) 145 architecture is described in 146 [I-D.ietf-spring-segment-routing-central-epe]. 148 3. BGP Peering Segments 150 As defined in [I-D.ietf-spring-segment-routing-central-epe], a BGP- 151 EPE enabled Egress PE node MAY advertise SIDs corresponding to its 152 attached peers. These SIDs are called BGP peering segments or BGP 153 Peering SIDs. In case of eBGP, they enable the expression of source- 154 routed inter-domain paths. 156 An ingress border router of an AS may compose a list of SIDs to steer 157 a flow along a selected path within the AS, towards a selected egress 158 border router C of the AS and through a specific peer. At minimum, a 159 BGP-EPE policy applied at an ingress PE involves two SIDs: the Node 160 SID of the chosen egress PE and then the BGP Peering SID for the 161 chosen egress PE peer or peering interface. 163 This document defines the BGP-LS extensions for the BGP-EPE Peering 164 SIDs: 166 o Peer Node Segment (Peer-Node-SID) 168 o Peer Adjacency Segment (Peer-Adj-SID) 170 o Peer Set Segment (Peer-Set-SID) 172 that have been defined in 173 [I-D.ietf-spring-segment-routing-central-epe]. 175 Each BGP session MUST be described by a Peer Node SID. The 176 description of the BGP session MAY be augmented by additional 177 Adjacency SIDs. Finally, each Peer Node SID and Peer Adjacency SID 178 MAY be part of the same group/set so to be able to group EPE 179 resources under a common Peer-Set SID. 181 Therefore, when the extensions defined in this document are applied 182 to the use case defined in 183 [I-D.ietf-spring-segment-routing-central-epe]: 185 o One Peer-Node-SID MUST be present. 187 o One or more Peer-Adj-SID MAY be present. 189 o Each of the Peer-Node-SID Peer-Adj-SID MAY use the same Peer-Set- 190 SID. 192 While an egress point topology usually refers to eBGP sessions 193 between external peers, there's nothing in the extensions defined in 194 this document that would prevent the use of these extensions in the 195 context of iBGP sessions. 197 4. Link NLRI for BGP-EPE Connectivity Description 199 This section describes the NLRI used for describing the connectivity 200 of the BGP Egress router. The connectivity is based on links and 201 remote peers/ASs and therefore the existing Link NLRI Type (defined 202 in [RFC7752]) is used. A new Protocol-ID is used: BGP (codepoint 7 203 assigned by IANA (Section 8) from the registry "BGP-LS Protocol- 204 IDs"). 206 The use of a new Protocol-ID allows separation and differentiation 207 between the NLRIs carrying BGP-EPE descriptors from the NLRIs 208 carrying IGP link-state information as defined in [RFC7752]. The 209 Link NLRI Type uses descriptors and attributes already defined in 210 [RFC7752] in addition to new TLVs defined in the following sections 211 of this document. 213 The extensions defined in this document apply to both internal and 214 external BGP-LS EPE advertisements. 216 [RFC7752] defines Link NLRI Type is as follows: 218 0 1 2 3 219 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 220 +-+-+-+-+-+-+-+-+ 221 | Protocol-ID | 222 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 223 | Identifier | 224 | (64 bits) | 225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 226 // Local Node Descriptors // 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 // Remote Node Descriptors // 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 230 // Link Descriptors // 231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 233 Node Descriptors and Link Descriptors are defined in [RFC7752]. 235 4.1. BGP Router ID and Member ASN 237 Two new Node Descriptors Sub-TLVs are defined in this document: 239 o BGP Router Identifier (BGP Router-ID): 241 Type: 516 (assigned by IANA (Section 8) from the registry "BGP- 242 LS Node Descriptor, Link Descriptor, Prefix Descriptor, and 243 Attribute TLVs"). 245 Length: 4 octets 247 Value: 4 octet unsigned integer representing the BGP Identifier 248 as defined in [RFC4271] and [RFC6286]. 250 o Confederation Member ASN (Member-ASN) 252 Type: 517 (assigned by IANA (Section 8) from the registry "BGP- 253 LS Node Descriptor, Link Descriptor, Prefix Descriptor, and 254 Attribute TLVs"). 256 Length: 4 octets 258 Value: 4 octet unsigned integer representing the Member ASN 259 inside the Confederation.[RFC5065]. 261 4.2. Mandatory BGP-EPE Node Descriptors 263 The following Node Descriptors Sub-TLVs MUST appear in the Link NLRI 264 as Local Node Descriptors: 266 o BGP Router-ID, which contains the BGP Identifier of the local BGP- 267 EPE capable node. 269 o Autonomous System Number, which contains the local ASN or local 270 confederation identifier (ASN) if confederations are used. 272 o BGP-LS Identifier. 274 It has to be noted that [RFC6286] (section 2.1) requires the BGP 275 identifier (router-id) to be unique within an Autonomous System. 276 Therefore, the tuple is globally unique. 278 The following Node Descriptors Sub-TLVs MUST appear in the Link NLRI 279 as Remote Node Descriptors: 281 o BGP Router-ID, which contains the BGP Identifier of the peer node. 283 o Autonomous System Number, which contains the peer ASN or the peer 284 confederation identifier (ASN), if confederations are used. 286 4.3. Optional BGP-EPE Node Descriptors 288 The following Node Descriptors Sub-TLVs MAY appear in the Link NLRI 289 as Local Node Descriptors: 291 o Member-ASN, which contains the ASN of the confederation member 292 (when BGP confederations are used). 294 o Node Descriptors as defined in [RFC7752]. 296 The following Node Descriptors Sub-TLVs MAY appear in the Link NLRI 297 as Remote Node Descriptors: 299 o Member-ASN, which contains the ASN of the confederation member 300 (when BGP confederations are used). 302 o Node Descriptors as defined in defined in [RFC7752]. 304 4.4. Link Attributes 306 The following BGP-LS Link attributes TLVs are used with the Link 307 NLRI: 309 +----------+---------------------------+----------+ 310 | TLV Code | Description | Length | 311 | Point | | | 312 +----------+---------------------------+----------+ 313 | 1101 | Peer Node Segment | variable | 314 | | Identifier (Peer-Node-SID)| | 315 | 1102 | Peer Adjacency Segment | variable | 316 | | Identifier (Peer-Adj-SID) | | 317 | 1103 | Peer Set Segment | variable | 318 | | Identifier (Peer-Set-SID) | | 319 +----------+---------------------------+----------+ 321 Figure 1: BGP-LS TLV code points for BGP-EPE 323 Peer-Node-SID, Peer-Adj-SID and Peer-Set-SID have all the same format 324 defined here below: 326 0 1 2 3 327 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 328 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 329 | Type | Length | 330 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 331 | Flags | Weight | Reserved | 332 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 333 | SID/Label/Index (variable) | 334 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 336 where: 338 Figure 2 340 o Type: 1101 or 1102 or 1103 (assigned by IANA (Section 8) from the 341 registry "BGP-LS Node Descriptor, Link Descriptor, Prefix 342 Descriptor, and Attribute TLVs"). 344 o Length: variable. 346 o Flags: one octet of flags used when advertising a Peer-Adj-SID 347 (Peer-Node and Peer-Set SIDs don't have flags defined). The 348 following Peer-Adj-SID flags have been defined: 350 0 1 2 3 4 5 6 7 351 +-+-+-+-+-+-+-+-+ 352 |V|L| | 353 +-+-+-+-+-+-+-+-+ 355 where: 357 * V-Flag: Value flag. If set, then the Adj-SID carries a value. 358 By default the flag is SET. 360 * L-Flag: Local Flag. If set, then the value/index carried by 361 the Adj-SID has local significance. By default the flag is 362 SET. 364 * Other bits: MUST be zero when originated and ignored when 365 received. 367 o Weight: 1 octet. The value represents the weight of the SID for 368 the purpose of load balancing. An example use of the weight is 369 described in [I-D.ietf-spring-segment-routing]. 371 o SID/Index/Label. According to the TLV length and to the V and L 372 flags settings, it contains either: 374 * A 3 octet local label where the 20 rightmost bits are used for 375 encoding the label value. In this case the V and L flags MUST 376 be set. 378 * A 4 octet index defining the offset in the SRGB (Segment 379 Routing Global Block as defined in 380 [I-D.ietf-spring-segment-routing] advertised by this router. 381 In this case, the SRGB MUST be advertised using the extensions 382 defined in [I-D.ietf-idr-bgp-ls-segment-routing-ext]. 384 * A 16 octet IPv6 address. In this case the V flag MUST be set. 385 The L flag MUST be unset if the IPv6 address is globally 386 unique. 388 The values of the Peer-Node-SID, Peer-Adj-SID and Peer-Set-SID Sub- 389 TLVs SHOULD be persistent across router restart. 391 The Peer-Node-SID MUST be present when BGP-LS is used for the use 392 case described in [I-D.ietf-spring-segment-routing-central-epe] and 393 MAY be omitted for other use cases. 395 The Peer-Adj-SID and Peer-Set-SID SubTLVs MAY be present when BGP-LS 396 is used for the use case described in 397 [I-D.ietf-spring-segment-routing-central-epe] and MAY be omitted for 398 other use cases. 400 In addition, BGP-LS Nodes and Link Attributes, as defined in 401 [RFC7752] MAY be inserted in order to advertise the characteristics 402 of the link. 404 5. Peer-Node and Peer-Adj SIDs 406 In this section the following SIDs are defined: 408 Peer Node Segment Identifier (Peer-Node-SID) 410 Peer Adjacency Segment Identifier (Peer-Adj-SID) 412 Peer Set Segment Identifier (Peer-Set-SID) 414 The Peer-Node, Peer-Adj and Peer-Set SIDs can be either a local or a 415 global (depending on the setting of the V and L flags defined in 416 Figure 2. For example, when BGP-EPE is used in the context of a SR 417 network over the IPv6 dataplane, it is likely the case that the IPv6 418 addresses used as SIDs will be global. 420 5.1. Peer-Node-SID 422 The Peer-Node-SID describes the BGP session peer (neighbor). It MUST 423 be present when describing a BGP-EPE topology as defined in 424 [I-D.ietf-spring-segment-routing-central-epe]. The Peer-Node-SID is 425 encoded within the BGP-LS Link NLRI specified in Section 4. 427 The Peer-Node-SID, at the BGP node advertising it, has the following 428 semantic: 430 o SR header operation: NEXT (as defined in 431 [I-D.ietf-spring-segment-routing]). 433 o Next-Hop: the connected peering node to which the segment is 434 related. 436 The Peer-Node-SID is advertised with a Link NLRI, where: 438 o Local Node Descriptors contains 440 Local BGP Router-ID of the BGP-EPE enabled egress PE. 441 Local ASN. 442 BGP-LS Identifier. 444 o Remote Node Descriptors contains 446 Peer BGP Router-ID (i.e.: the peer BGP ID used in the BGP session). 447 Peer ASN. 449 o Link Descriptors Sub-TLVs, as defined in [RFC7752], contain the 450 addresses used by the BGP session: 452 * IPv4 Interface Address (Sub-TLV 259) contains the BGP session 453 IPv4 local address. 455 * IPv4 Neighbor Address (Sub-TLV 260) contains the BGP session 456 IPv4 peer address. 458 * IPv6 Interface Address (Sub-TLV 261) contains the BGP session 459 IPv6 local address. 461 * IPv6 Neighbor Address (Sub-TLV 262) contains the BGP session 462 IPv6 peer address. 464 o Link Attribute contains the Peer-Node-SID TLV as defined in 465 Section 4.4. 467 o In addition, BGP-LS Link Attributes, as defined in [RFC7752], MAY 468 be inserted in order to advertise the characteristics of the link. 470 5.2. Peer-Adj-SID 472 The Peer-Adj-SID, at the BGP node advertising it, has the following 473 semantic: 475 o SR header operation: NEXT (as defined in 476 [I-D.ietf-spring-segment-routing]). 478 o Next-Hop: the interface peer address. 480 The Peer-Adj-SID is advertised with a Link NLRI, where: 482 o Local Node Descriptors contains 484 Local BGP Router-ID of the BGP-EPE enabled egress PE. 485 Local ASN. 486 BGP-LS Identifier. 488 o Remote Node Descriptors contains 490 Peer BGP Router-ID (i.e.: the peer BGP ID used in the BGP session). 491 Peer ASN. 493 o Link Descriptors Sub-TLVs, as defined in [RFC7752], MUST contain 494 the following TLVs: 496 * Link Local/Remote Identifiers (Sub-TLV 258) contains the 497 4-octet Link Local Identifier followed by the 4-octet value 0 498 indicating the Link Remote Identifier in unknown [RFC5307]. 500 o In addition, Link Descriptors Sub-TLVs, as defined in [RFC7752], 501 MAY contain the following TLVs: 503 * IPv4 Interface Address (Sub-TLV 259) contains the address of 504 the local interface through which the BGP session is 505 established. 507 * IPv6 Interface Address (Sub-TLV 261) contains the address of 508 the local interface through which the BGP session is 509 established. 511 * IPv4 Neighbor Address (Sub-TLV 260) contains the IPv4 address 512 of the peer interface used by the BGP session. 514 * IPv6 Neighbor Address (Sub-TLV 262) contains the IPv6 address 515 of the peer interface used by the BGP session. 517 o Link attribute used with the Peer-Adj-SID contains the TLV as 518 defined in Section 4.4. 520 In addition, BGP-LS Link Attributes, as defined in [RFC7752], MAY be 521 inserted in order to advertise the characteristics of the link. 523 5.3. Peer-Set-SID 525 The Peer-Set-SID, at the BGP node advertising it, has the following 526 semantic: 528 o SR header operation: NEXT (as defined in 529 [I-D.ietf-spring-segment-routing]). 531 o Next-Hop: load balance across any connected interface to any peer 532 in the related set. 534 The Peer-Set-SID is advertised within a Link NLRI (describing a Peer 535 Node Segment or a Peer Adjacency segment) as a BGP-LS attribute. 537 The Peer Set Attribute contains the Peer-Set-SID TLV, defined in 538 Section 4.4 identifying the set of which the Peer-Node-SID or Peer- 539 Adj-SID is a member. 541 6. Illustration 543 6.1. Reference Diagram 545 The following reference diagram is used throughout this document. 546 The solution is illustrated for IPv6 with MPLS-based SIDs and the 547 BGP-EPE topology is based on eBGP sessions between external peers. 549 As stated in Section 3, the solution illustrated hereafter is equally 550 applicable to an iBGP session topology. In other words, the solution 551 also applies to the case where C, D, F, and E are in the same AS and 552 run iBGP sessions between each other. 554 +------+ 555 | | 556 +---D H 557 +---------+ / | AS 2 |\ +------+ 558 | X |/ +------+ \ | Z |---L/8 559 A C---+ \| | 560 | |\\ \ +------+ /| AS 4 |---M/8 561 | AS1 | \\ +-F |/ +------+ 562 | | \\ | G 563 +----P----+ +===E AS 3 | 564 | +--Q---+ 565 | | 566 +----------------+ 568 Figure 3: Reference Diagram 570 IP addressing: 572 o C's IP address of interface to D: 2001:db8:cd::c/64, D's 573 interface: 2001:db8:cd::d/64 575 o C's IP address of interface to F: 2001:db8:cf::c/64, F's 576 interface: 2001:db8:cf::f/64 578 o C's IP address of upper interface to E: 2001:db8:ce1::c/64, E's 579 interface: 2001:db8:ce1::e 581 o C's local identifier of upper interface to E: 0.0.0.1.0.0.0.0 583 o C's IP address of lower interface to E: 2001:db8:ce2::c, E's 584 interface: 2001:db8:ce2::e 586 o C's local identifier of lower interface to E: 0.0.0.2.0.0.0.0 588 o Loopback of E used for eBGP multi-hop peering to C: 589 2001:db8:e::e/128 591 o C's loopback is 2001:db8:c::c/128 with SID 64 593 BGP Router-IDs are C, D, F and E. 595 o C's BGP Router-ID: 192.0.2.3 597 o D's BGP Router-ID: 192.0.2.4 599 o E's BGP Router-ID: 192.0.2.5 601 o F's BGP Router-ID: 192.0.2.6 602 C's BGP peering: 604 o Single-hop eBGP peering with neighbor 2001:db8:cd::d (D) 606 o Single-hop eBGP peering with neighbor 2001:db8:cf::f (F) 608 o Multi-hop eBGP peering with E on ip address 2001:db8:e::e (E) 610 C's resolution of the multi-hop eBGP session to E: 612 o Static route 2001:db8:e::e/128 via 2001:db8:ce1::e 614 o Static route 2001:db8:e::e/128 via 2001:db8:ce2::e 616 Node C configuration is such that: 618 o A Peer-Node-SID is allocated to each peer (D, F and E). 620 o An Peer-Adj-SID is defined for each recursing interface to a 621 multi-hop peer (CE upper and lower interfaces). 623 o A Peer-Set-SID is defined to include all peers in AS3 (peers F and 624 E). 626 Local BGP-LS Identifier in router C is set to 10000. 628 The Link NLRI Type is used in order to encode C's connectivity. The 629 Link NLRI uses the Protocol-ID value (to be assigned by IANA) 631 Once the BGP-LS update is originated by C, it may be advertised to 632 internal (iBGP) as well as external (eBGP) neighbors supporting the 633 BGP-LS EPE extensions defined in this document. 635 6.2. Peer-Node-SID for Node D 637 Descriptors: 639 o Local Node Descriptors (BGP Router-ID, local ASN, BGP-LS 640 Identifier): 192.0.2.3, AS1, 10000 642 o Remote Node Descriptors (BGP Router-ID, peer ASN): 192.0.2.4, AS2 644 o Link Descriptors (BGP session IPv6 local address, BGP session IPv6 645 neighbor address): 2001:db8:cd::c, 2001:db8:cd::d 647 Attributes: 649 o Peer-Node-SID: 1012 650 o Link Attributes: see section 3.3.2 of [RFC7752] 652 6.3. Peer-Node-SID for Node F 654 Descriptors: 656 o Local Node Descriptors (BGP Router-ID, ASN, BGPLS Identifier): 657 192.0.2.3, AS1, 10000 659 o Remote Node Descriptors (BGP Router-ID ASN): 192.0.2.6, AS3 661 o Link Descriptors (BGP session IPv6 local address, BGP session IPv6 662 peer address): 2001:db8:cf::c, 2001:db8:cf::f 664 Attributes: 666 o Peer-Node-SID: 1022 668 o Peer-Set-SID: 1060 670 o Link Attributes: see section 3.3.2 of [RFC7752] 672 6.4. Peer-Node-SID for Node E 674 Descriptors: 676 o Local Node Descriptors (BGP Router-ID, ASN, BGP-LS Identifier): 677 192.0.2.3, AS1, 10000 679 o Remote Node Descriptors (BGP Router-ID, ASN): 192.0.2.5, AS3 681 o Link Descriptors (BGP session IPv6 local address, BGP session IPv6 682 peer address): 2001:db8:c::c, 2001:db8:e::e 684 Attributes: 686 o Peer-Node-SID: 1052 688 o Peer-Set-SID: 1060 690 6.5. Peer-Adj-SID for Node E, Link 1 692 Descriptors: 694 o Local Node Descriptors (BGP Router-ID, ASN, BGP-LS Identifier): 695 192.0.2.3, AS1, 10000 697 o Remote Node Descriptors (BGP Router-ID, ASN): 192.0.2.5, AS3 698 o Link Descriptors (local interface identifier, IPv6 peer interface 699 address): 0.0.0.1.0.0.0.0 , 2001:db8:ce1::e 701 Attributes: 703 o Peer-Adj-SID: 1032 705 o LinkAttributes: see section 3.3.2 of [RFC7752] 707 6.6. Peer-Adj-SID for Node E, Link 2 709 Descriptors: 711 o Local Node Descriptors (BGP Router-ID, ASN, BGP-LS Identifier): 712 192.0.2.3, AS1, 10000 714 o Remote Node Descriptors (BGP Router-ID, ASN): 192.0.2.5, AS3 716 o Link Descriptors (local interface identifier, IPv6 peer interface 717 address): 0.0.0.2.0.0.0.0 , 2001:db8:ce2::e 719 Attributes: 721 o Peer-Adj-SID: 1042 723 o LinkAttributes: see section 3.3.2 of [RFC7752] 725 7. Implementation Status 727 Note to RFC Editor: Please remove this section prior to publication, 728 as well as the reference to RFC 7942. 730 This section records the status of known implementations of the 731 protocol defined by this specification at the time of posting of this 732 Internet-Draft, and is based on a proposal described in [RFC7942]. 733 The description of implementations in this section is intended to 734 assist the IETF in its decision processes in progressing drafts to 735 RFCs. Please note that the listing of any individual implementation 736 here does not imply endorsement by the IETF. Furthermore, no effort 737 has been spent to verify the information presented here that was 738 supplied by IETF contributors. This is not intended as, and must not 739 be construed to be, a catalog of available implementations or their 740 features. Readers are advised to note that other implementations may 741 exist. 743 According to [RFC7942], "this will allow reviewers and working groups 744 to assign due consideration to documents that have the benefit of 745 running code, which may serve as evidence of valuable experimentation 746 and feedback that have made the implemented protocols more mature. 747 It is up to the individual working groups to use this information as 748 they see fit". 750 Several early implementations exist and will be reported in detail in 751 a forthcoming version of this document. For purposes of early 752 interoperability testing, when no FCFS code point was available, 753 implementations have made use of the following values: 755 +---------------------------------------+ 756 | Codepoint | Description | 757 +---------------------------------------+ 758 | 7 | Protocol-ID BGP | 759 | 516 | BGP Router-ID | 760 | 517 | BGP Confederation Member | 761 | 1101 | Peer-Node-SID | 762 | 1102 | Peer-Adj-SID | 763 | 1103 | Peer-Set-SID | 764 +------------+--------------------------+ 766 IANA has now confirmed the assignment of the above coidepoints. 767 SeeSection 8. 769 8. IANA Considerations 771 This document defines: 773 A new Protocol-ID: BGP. The codepoint is from the "BGP-LS 774 Protocol-IDs" registry. 776 Two new TLVs: BGP-Router-ID and BGP Confederation Member. The 777 codepoints are in the "BGP-LS Node Descriptor, Link Descriptor, 778 Prefix Descriptor, and Attribute TLVs" registry. 780 Three new BGP-LS Attribute TLVs: Peer-Node-SID, Peer-Adj-SID and 781 Peer-Set-SID. The codepoints are in the "BGP-LS Node Descriptor, 782 Link Descriptor, Prefix Descriptor, and Attribute TLVs" registry. 784 8.1. New BGP-LS Protocol-ID 786 This document defines a new value in the registry "BGP-LS Protocol- 787 IDs": 789 +----------------------------------------------+ 790 | Codepoint | Description | Status | 791 +----------------------------------------------+ 792 | 7 | BGP | Assigned by IANA | 793 +----------------------------------------------+ 795 8.2. Node Descriptors and Link Attribute TLVs 797 This document defines 5 new TLVs in the registry "BGP-LS Node 798 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs": 800 o Two new node descriptor TLVs 802 o Three new link attribute TLVs 804 All the new 5 codepoints are in the same registry: "BGP-LS Node 805 Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs". 806 However, the registry is organized in ranges (node descriptors, link 807 descriptors, node attributes, link attributes). 809 The following new Node Descriptors TLVs are defined: 811 +-----------------------------------------------------------+ 812 | Codepoint | Description | Status | 813 +-----------------------------------------------------------+ 814 | 516 | BGP Router-ID | Assigned by IANA | 815 | 517 | BGP Confederation Member | Assigned by IANA | 816 +------------+----------------------------------------------+ 818 The following new Link Attribute TLVs are defined: 820 +-----------------------------------------------------------+ 821 | Codepoint | Description | Status | 822 +-----------------------------------------------------------+ 823 | 1101 | Peer-Node-SID | Assigned by IANA | 824 | 1102 | Peer-Adj-SID | Assigned by IANA | 825 | 1103 | Peer-Set-SID | Assigned by IANA | 826 +------------+----------------------------------------------+ 828 9. Manageability Considerations 830 The BGP-LS ([RFC7752]) extensions that are described in this document 831 consist of additional BGP-LS descriptors and TLVs that will follow 832 the same manageability functions of BGP-LS, described in [RFC7752]. 834 The operator MUST be capable of configuring, enabling, disabling the 835 advertisement of each of the Peer-Node-SID, Peer-Adj-SID and Peer- 836 Set-SID as well as to control which information is advertised to 837 which internal or external peer. This is not different from what is 838 required by a BGP speaker in terms of information origination and 839 advertisement. In addition, the advertisement of EPE information 840 MUST conform to standard BGP advertisement and propagation rules 841 (iBGP, eBGP, Route-Reflectors, Confederations). 843 10. Security Considerations 845 [RFC7752] defines BGP-LS NLRIs to which the extensions defined in 846 this document apply. 848 The Security Section of [RFC7752] also applies to: 850 o New Node Descriptors Sub-TLVs: BGP-Router-ID and BGP- 851 Confederation-Member; 853 o New BGP-LS Attributes TLVs: Peer-Node-SID, Peer-Adj-SID and Peer- 854 Set-SID. 856 The extensions defined in this document do not introduce any 857 additional security aspects of BGP-LS. 859 11. Contributors 861 Mach (Guoyi) Chen 862 Huawei Technologies 863 China 865 Email: mach.chen@huawei.com 867 Acee Lindem 868 Cisco Systems Inc. 869 US 871 Email: acee@cisco.com 873 12. Acknowledgements 875 The authors would like to thank Jakob Heitz, Howard Yang, Hannes 876 Gredler, Peter Psenak, Ketan Jivan Talaulikar, Arjun Sreekantiah and 877 Bruno Decraene for their feedback and comments. 879 13. References 881 13.1. Normative References 883 [I-D.ietf-spring-segment-routing] 884 Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., 885 and R. Shakir, "Segment Routing Architecture", draft-ietf- 886 spring-segment-routing-11 (work in progress), February 887 2017. 889 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 890 Requirement Levels", BCP 14, RFC 2119, 891 DOI 10.17487/RFC2119, March 1997, 892 . 894 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 895 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 896 DOI 10.17487/RFC4271, January 2006, 897 . 899 [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous 900 System Confederations for BGP", RFC 5065, 901 DOI 10.17487/RFC5065, August 2007, 902 . 904 [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions 905 in Support of Generalized Multi-Protocol Label Switching 906 (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, 907 . 909 [RFC6286] Chen, E. and J. Yuan, "Autonomous-System-Wide Unique BGP 910 Identifier for BGP-4", RFC 6286, DOI 10.17487/RFC6286, 911 June 2011, . 913 13.2. Informative References 915 [I-D.ietf-idr-bgp-ls-segment-routing-ext] 916 Previdi, S., Psenak, P., Filsfils, C., Gredler, H., Chen, 917 M., and j. jefftant@gmail.com, "BGP Link-State extensions 918 for Segment Routing", draft-ietf-idr-bgp-ls-segment- 919 routing-ext-01 (work in progress), February 2017. 921 [I-D.ietf-spring-segment-routing-central-epe] 922 Filsfils, C., Previdi, S., Aries, E., and D. Afanasiev, 923 "Segment Routing Centralized BGP Egress Peer Engineering", 924 draft-ietf-spring-segment-routing-central-epe-05 (work in 925 progress), March 2017. 927 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 928 S. Ray, "North-Bound Distribution of Link-State and 929 Traffic Engineering (TE) Information Using BGP", RFC 7752, 930 DOI 10.17487/RFC7752, March 2016, 931 . 933 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 934 Code: The Implementation Status Section", BCP 205, 935 RFC 7942, DOI 10.17487/RFC7942, July 2016, 936 . 938 Authors' Addresses 940 Stefano Previdi (editor) 941 Cisco Systems, Inc. 942 Via Del Serafico, 200 943 Rome 00142 944 Italy 946 Email: sprevidi@cisco.com 948 Clarence Filsfils 949 Cisco Systems, Inc. 950 Brussels 951 BE 953 Email: cfilsfil@cisco.com 955 Keyur Patel 956 Arrcus, Inc. 958 Email: Keyur@arrcus.com 960 Saikat Ray 961 Individual Contributor 963 Email: raysaikat@gmail.com 965 Jie Dong 966 Huawei Technologies 967 Huawei Campus, No. 156 Beiqing Rd. 968 Beijing 100095 969 China 971 Email: jie.dong@huawei.com