idnits 2.17.1 draft-ietf-lsvr-bgp-spf-11.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 (August 3, 2020) is 1362 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) == Missing Reference: 'RFC7938' is mentioned on line 1039, but not defined == Missing Reference: 'RFC2328' is mentioned on line 991, but not defined == Missing Reference: 'RFC5286' is mentioned on line 1025, but not defined == Missing Reference: 'RFC4456' is mentioned on line 995, but not defined == Missing Reference: 'RFC4915' is mentioned on line 1020, but not defined == Missing Reference: 'RFC5549' is mentioned on line 1030, but not defined ** Obsolete undefined reference: RFC 5549 (Obsoleted by RFC 8950) == Missing Reference: 'RFC4790' is mentioned on line 1015, but not defined == Missing Reference: 'RFC5880' is mentioned on line 1035, but not defined == Missing Reference: 'I-D.ietf-lsvr-applicability' is mentioned on line 979, but not defined == Missing Reference: 'RFC4760' is mentioned on line 1010, but not defined == Missing Reference: 'RFC4750' is mentioned on line 1005, but not defined == Missing Reference: 'RFC4724' is mentioned on line 1000, but not defined == Missing Reference: 'RFC7942' is mentioned on line 1044, but not defined == Missing Reference: 'I-D.psarkar-lsvr-bgp-spf-impl' is mentioned on line 985, but not defined ** Obsolete normative reference: RFC 7752 (Obsoleted by RFC 9552) Summary: 2 errors (**), 0 flaws (~~), 15 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group K. Patel 3 Internet-Draft Arrcus, Inc. 4 Intended status: Standards Track A. Lindem 5 Expires: February 4, 2021 Cisco Systems 6 S. Zandi 7 LinkedIn 8 W. Henderickx 9 Nokia 10 August 3, 2020 12 Shortest Path Routing Extensions for BGP Protocol 13 draft-ietf-lsvr-bgp-spf-11 15 Abstract 17 Many Massively Scaled Data Centers (MSDCs) have converged on 18 simplified layer 3 routing. Furthermore, requirements for 19 operational simplicity have led many of these MSDCs to converge on 20 BGP as their single routing protocol for both their fabric routing 21 and their Data Center Interconnect (DCI) routing. This document 22 describes a solution which leverages BGP Link-State distribution and 23 the Shortest Path First (SPF) algorithm similar to Internal Gateway 24 Protocols (IGPs) such as OSPF. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at https://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on February 4, 2021. 43 Copyright Notice 45 Copyright (c) 2020 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (https://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 61 1.1. BGP Shortest Path First (SPF) Motivation . . . . . . . . 4 62 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 5 63 2. BGP Peering Models . . . . . . . . . . . . . . . . . . . . . 5 64 2.1. BGP Single-Hop Peering on Network Node Connections . . . 5 65 2.2. BGP Peering Between Directly Connected Network Nodes . . 5 66 2.3. BGP Peering in Route-Reflector or Controller Topology . . 6 67 3. BGP-LS Shortest Path Routing (SPF) SAFI . . . . . . . . . . . 6 68 4. Extensions to BGP-LS . . . . . . . . . . . . . . . . . . . . 6 69 4.1. Node NLRI Usage . . . . . . . . . . . . . . . . . . . . . 7 70 4.1.1. Node NLRI Attribute SPF Capability TLV . . . . . . . 7 71 4.1.2. BGP-LS Node NLRI Attribute SPF Status TLV . . . . . . 8 72 4.2. Link NLRI Usage . . . . . . . . . . . . . . . . . . . . . 8 73 4.2.1. BGP-LS Link NLRI Attribute Prefix-Length TLVs . . . . 9 74 4.2.2. BGP-LS Link NLRI Attribute SPF Status TLV . . . . . . 9 75 4.3. Prefix NLRI Usage . . . . . . . . . . . . . . . . . . . . 10 76 4.3.1. BGP-LS Prefix NLRI Attribute SPF Status TLV . . . . . 10 77 4.4. BGP-LS Attribute Sequence-Number TLV . . . . . . . . . . 10 78 5. Decision Process with SPF Algorithm . . . . . . . . . . . . . 11 79 5.1. Phase-1 BGP NLRI Selection . . . . . . . . . . . . . . . 12 80 5.2. Dual Stack Support . . . . . . . . . . . . . . . . . . . 13 81 5.3. SPF Calculation based on BGP-LS NLRI . . . . . . . . . . 13 82 5.4. NEXT_HOP Manipulation . . . . . . . . . . . . . . . . . . 16 83 5.5. IPv4/IPv6 Unicast Address Family Interaction . . . . . . 16 84 5.6. NLRI Advertisement and Convergence . . . . . . . . . . . 17 85 5.6.1. Link/Prefix Failure Convergence . . . . . . . . . . . 17 86 5.6.2. Node Failure Convergence . . . . . . . . . . . . . . 17 87 5.7. Error Handling . . . . . . . . . . . . . . . . . . . . . 18 88 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 89 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 90 8. Management Considerations . . . . . . . . . . . . . . . . . . 18 91 8.1. Configuration . . . . . . . . . . . . . . . . . . . . . . 18 92 8.2. Operational Data . . . . . . . . . . . . . . . . . . . . 19 93 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 19 94 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 95 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 96 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 97 12.1. Normative References . . . . . . . . . . . . . . . . . . 20 98 12.2. Information References . . . . . . . . . . . . . . . . . 21 99 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 101 1. Introduction 103 Many Massively Scaled Data Centers (MSDCs) have converged on 104 simplified layer 3 routing. Furthermore, requirements for 105 operational simplicity have led many of these MSDCs to converge on 106 BGP [RFC4271] as their single routing protocol for both their fabric 107 routing and their Data Center Interconnect (DCI) routing. 108 Requirements and procedures for using BGP are described in [RFC7938]. 109 This document describes an alternative solution which leverages BGP- 110 LS [RFC7752] and the Shortest Path First algorithm similar to 111 Internal Gateway Protocols (IGPs) such as OSPF [RFC2328]. 113 [RFC4271] defines the Decision Process that is used to select routes 114 for subsequent advertisement by applying the policies in the local 115 Policy Information Base (PIB) to the routes stored in its Adj-RIBs- 116 In. The output of the Decision Process is the set of routes that are 117 announced by a BGP speaker to its peers. These selected routes are 118 stored by a BGP speaker in the speaker's Adj-RIBs-Out according to 119 policy. 121 [RFC7752] describes a mechanism by which link-state and TE 122 information can be collected from networks and shared with external 123 components using BGP. This is achieved by defining NLRI advertised 124 within the BGP-LS/BGP-LS-SPF AFI/SAFI. The BGP-LS extensions defined 125 in [RFC7752] makes use of the Decision Process defined in [RFC4271]. 127 This document augments [RFC7752] by replacing its use of the existing 128 Decision Process. Rather than reusing the BGP-LS SAFI, the BGP-LS- 129 SPF SAFI is introduced to insure backward compatibility. The Phase 1 130 and 2 decision functions of the Decision Process are replaced with 131 the Shortest Path First (SPF) algorithm also known as the Dijkstra 132 algorithm. The Phase 3 decision function is also simplified since it 133 is no longer dependent on the previous phases. This solution avails 134 the benefits of both BGP and SPF-based IGPs. These include TCP based 135 flow-control, no periodic link-state refresh, and completely 136 incremental NLRI advertisement. These advantages can reduce the 137 overhead in MSDCs where there is a high degree of Equal Cost Multi- 138 Path (ECMPs) and the topology is very stable. Additionally, using an 139 SPF-based computation can support fast convergence and the 140 computation of Loop-Free Alternatives (LFAs) [RFC5286] in the event 141 of link failures. Furthermore, a BGP based solution lends itself to 142 multiple peering models including those incorporating route- 143 reflectors [RFC4456] or controllers. 145 Support for Multiple Topology Routing (MTR) as described in [RFC4915] 146 is an area for further study dependent on deployment requirements. 148 1.1. BGP Shortest Path First (SPF) Motivation 150 Given that [RFC7938] already describes how BGP could be used as the 151 sole routing protocol in an MSDC, one might question the motivation 152 for defining an alternate BGP deployment model when a mature solution 153 exists. For both alternatives, BGP offers the operational benefits 154 of a single routing protocol. However, BGP SPF offers some unique 155 advantages above and beyond standard BGP distance-vector routing. 157 A primary advantage is that all BGP speakers in the BGP SPF routing 158 domain will have a complete view of the topology. This will allow 159 support for ECMP, IP fast-reroute (e.g., Loop-Free Alternatives), 160 Shared Risk Link Groups (SRLGs), and other routing enhancements 161 without advertisement of addition BGP paths or other extensions. In 162 short, the advantages of an IGP such as OSPF [RFC2328] are availed in 163 BGP. 165 With the simplified BGP decision process as defined in Section 5.1, 166 NLRI changes can be disseminated throughout the BGP routing domain 167 much more rapidly (equivalent to IGPs with the proper 168 implementation). 170 Another primary advantage is a potential reduction in NLRI 171 advertisement. With standard BGP distance-vector routing, a single 172 link failure may impact 100s or 1000s prefixes and result in the 173 withdrawal or re-advertisement of the attendant NLRI. With BGP SPF, 174 only the BGP speakers corresponding to the link NLRI need withdraw 175 the corresponding BGP-LS Link NLRI. This advantage will contribute 176 to both faster convergence and better scaling. 178 With controller and route-reflector peering models, BGP SPF 179 advertisement and distributed computation require a minimal number of 180 sessions and copies of the NLRI since only the latest version of the 181 NLRI from the originator is required. Given that verification of the 182 adjacencies is done outside of BGP (see Section 2), each BGP speaker 183 will only need as many sessions and copies of the NLRI as required 184 for redundancy (e.g., one for the SPF computation and another for 185 backup). Functions such as Optimized Route Reflection (ORR) are 186 supported without extension by virtue of the primary advantages. 187 Additionally, a controller could inject topology that is learned 188 outside the BGP routing domain. 190 Given that controllers are already consuming BGP-LS NLRI [RFC7752], 191 reusing for the BGP-LS SPF leverages the existing controller 192 implementations. 194 Another potential advantage of BGP SPF is that both IPv6 and IPv4 can 195 be supported in the same address family using the same topology. 196 Although not described in this version of the document, multi- 197 topology extensions can be used to support separate IPv4, IPv6, 198 unicast, and multicast topologies while sharing the same NLRI. 200 Finally, the BGP SPF topology can be used as an underlay for other 201 BGP address families (using the existing model) and realize all the 202 above advantages. A simplified peering model using IPv6 link-local 203 addresses as next-hops can be deployed similar to [RFC5549]. 205 1.2. Requirements Language 207 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 208 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 209 "OPTIONAL" in this document are to be interpreted as described in BCP 210 14 [RFC2119] [RFC8174] when, and only when, they appear in all 211 capitals, as shown here. 213 2. BGP Peering Models 215 Depending on the requirements, scaling, and capabilities of the BGP 216 speakers, various peering models are supported. The only requirement 217 is that all BGP speakers in the BGP SPF routing domain receive link- 218 state NLRI on a timely basis, run an SPF calculation, and update 219 their data plane appropriately. The content of the Link NLRI is 220 described in Section 4.2. 222 2.1. BGP Single-Hop Peering on Network Node Connections 224 The simplest peering model is the one described in section 5.2.1 of 225 [RFC7938]. In this model, EBGP single-hop sessions are established 226 over direct point-to-point links interconnecting the SPF domain 227 nodes. For the purposes of BGP SPF, Link NLRI is only advertised if 228 a single-hop BGP session has been established and the Link-State/SPF 229 address family capability has been exchanged [RFC4790] on the 230 corresponding session. If the session goes down, the corresponding 231 Link NLRI will be withdrawn. Topologically, this would be equivalent 232 to the peering model in [RFC7938] where there is a BGP session on 233 every link in the data center switch fabric. 235 2.2. BGP Peering Between Directly Connected Network Nodes 237 In this model, BGP speakers peer with all directly connected network 238 nodes but the sessions may be multi-hop and the direct connection 239 discovery and liveliness detection for those connections are 240 independent of the BGP protocol. How this is accomplished is outside 241 the scope of this document. Consequently, there will be a single 242 session even if there are multiple direct connections between BGP 243 speakers. For the purposes of BGP SPF, Link NLRI is advertised as 244 long as a BGP session has been established, the Link-State/SPF 245 address family capability has been exchanged [RFC4790] and the 246 corresponding link is considered is up and considered operational. 247 This is much like the previous peering model only peering is on a 248 single loopback address and the switch fabric links can be 249 unnumbered. However, there will be the same number of sessions as 250 with the previous peering model unless there are parallel links 251 between switches in the fabric. 253 2.3. BGP Peering in Route-Reflector or Controller Topology 255 In this model, BGP speakers peer solely with one or more Route 256 Reflectors [RFC4456] or controllers. As in the previous model, 257 direct connection discovery and liveliness detection for those 258 connections are done outside the BGP protocol. More specifically, 259 the Liveliness detection is done using BFD protocol described in 260 [RFC5880]. For the purposes of BGP SPF, Link NLRI is advertised as 261 long as the corresponding link is up and considered operational. 263 This peering model, known as sparse peering, allows for many fewer 264 BGP sessions and, consequently, instances of the same NLRI received 265 from multiple peers. It is discussed in greater detail in 266 [I-D.ietf-lsvr-applicability]. 268 3. BGP-LS Shortest Path Routing (SPF) SAFI 270 In order to replace the Phase 1 and 2 decision functions of the 271 existing Decision Process with an SPF-based Decision Process and 272 streamline the Phase 3 decision functions in a backward compatible 273 manner, this draft introduces the BGP-LS-SFP SAFI for BGP-LS SPF 274 operation. The BGP-LS-SPF (AFI 16388 / SAFI TBD1) [RFC4790] is 275 allocated by IANA as specified in the Section 6. A BGP speaker using 276 the BGP-LS SPF extensions described herein MUST exchange the AFI/SAFI 277 using Multiprotocol Extensions Capability Code [RFC4760] with other 278 BGP speakers in the SPF routing domain. 280 4. Extensions to BGP-LS 282 [RFC7752] describes a mechanism by which link-state and TE 283 information can be collected from networks and shared with external 284 components using BGP protocol. It describes both the definition of 285 BGP-LS NLRI that describes links, nodes, and prefixes comprising IGP 286 link-state information and the definition of a BGP path attribute 287 (BGP-LS attribute) that carries link, node, and prefix properties and 288 attributes, such as the link and prefix metric or auxiliary Router- 289 IDs of nodes, etc. 291 The BGP protocol will be used in the Protocol-ID field specified in 292 table 1 of [I-D.ietf-idr-bgpls-segment-routing-epe]. The local and 293 remote node descriptors for all NLRI will be the BGP Router-ID (TLV 294 516) and either the AS Number (TLV 512) [RFC7752] or the BGP 295 Confederation Member (TLV 517) [RFC8402]. However, if the BGP 296 Router-ID is known to be unique within the BGP Routing domain, it can 297 be used as the sole descriptor. 299 4.1. Node NLRI Usage 301 The BGP Node NLRI will be advertised unconditionally by all routers 302 in the BGP SPF routing domain. 304 4.1.1. Node NLRI Attribute SPF Capability TLV 306 The SPF capability is a new Node Attribute TLV that will be added to 307 those defined in table 7 of [RFC7752]. The new attribute TLV will 308 only be applicable when BGP is specified in the Node NLRI Protocol ID 309 field. The TBD TLV type will be defined by IANA. The new Node 310 Attribute TLV will contain a single-octet SPF algorithm as defined in 311 [RFC8402]. 313 0 1 2 3 314 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 315 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 316 | Type | Length | 317 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 318 | SPF Algorithm | 319 +-+-+-+-+-+-+-+-+ 321 The SPF Algorithm may take the following values: 323 0 - Normal Shortest Path First (SPF) algorithm based on link 324 metric. This is the standard shortest path algorithm as 325 computed by the IGP protocol. Consistent with the deployed 326 practice for link-state protocols, Algorithm 0 permits any 327 node to overwrite the SPF path with a different path based on 328 its local policy. 329 1 - Strict Shortest Path First (SPF) algorithm based on link 330 metric. The algorithm is identical to Algorithm 0 but Algorithm 331 1 requires that all nodes along the path will honor the SPF 332 routing decision. Local policy at the node claiming support for 333 Algorithm 1 MUST NOT alter the SPF paths computed by Algorithm 1. 335 Note that usage of Strict Shortest Path First (SPF) algorithm is 336 defined in the IGP algorithm registry but usage is restricted to 337 [I-D.ietf-idr-bgpls-segment-routing-epe]. Hence, its usage for BGP- 338 LS SPF is out of scope. 340 When computing the SPF for a given BGP routing domain, only BGP nodes 341 advertising the SPF capability attribute will be included the 342 Shortest Path Tree (SPT). 344 4.1.2. BGP-LS Node NLRI Attribute SPF Status TLV 346 A BGP-LS Attribute TLV to BGP-LS Node NLRI is defined to indicate the 347 status of the node with respect to the BGP SPF calculation. This 348 will be used to rapidly take a node out of service or to indicate the 349 node is not to be used for transit (i.e., non-local) traffic. If the 350 SPF Status TLV is not included with the Node NLRI, the node is 351 considered to be up and is available for transit traffic. 353 0 1 2 3 354 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 355 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 356 | TBD Type | Length | 357 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 358 | SPF Status | 359 +-+-+-+-+-+-+-+-+ 361 BGP Status Values: 0 - Reserved 362 1 - Node Unreachable with respect to BGP SPF 363 2 - Node does not support transit with respect 364 to BGP SPF 365 3-254 - Undefined 366 255 - Reserved 368 4.2. Link NLRI Usage 370 The criteria for advertisement of Link NLRI are discussed in 371 Section 2. 373 Link NLRI is advertised with local and remote node descriptors as 374 described above and unique link identifiers dependent on the 375 addressing. For IPv4 links, the links local IPv4 (TLV 259) and 376 remote IPv4 (TLV 260) addresses will be used. For IPv6 links, the 377 local IPv6 (TLV 261) and remote IPv6 (TLV 262) addresses will be 378 used. For unnumbered links, the link local/remote identifiers (TLV 379 258) will be used. For links supporting having both IPv4 and IPv6 380 addresses, both sets of descriptors may be included in the same Link 381 NLRI. The link identifiers are described in table 5 of [RFC7752]. 383 The link IGP metric attribute TLV (TLV 1095) as well as any others 384 required for non-SPF purposes SHOULD be advertised. The metric value 385 in this TLV is variable length dependent on specific protocol usage 386 (refer to section 3.3.2.4 in [RFC7752]). For simplicity, the BGP-LS 387 SPF metric length will be 4 octets. Algorithms such as setting the 388 metric inversely to the link speed as done in the OSPF MIB [RFC4750] 389 MAY be supported. However, this is beyond the scope of this 390 document. 392 4.2.1. BGP-LS Link NLRI Attribute Prefix-Length TLVs 394 Two BGP-LS Attribute TLVs to BGP-LS Link NLRI are defined to 395 advertise the prefix length associated with the IPv4 and IPv6 link 396 prefixes. The prefix length is used for the optional installation of 397 prefixes corresponding to Link NLRI as defined in Section 5.3. 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 | TBD IPv4 or IPv6 Type | Length | 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 404 | Prefix-Length | 405 +-+-+-+-+-+-+-+-+ 407 Prefix-length - A one-octet length restricted to 1-32 for IPv4 408 Link NLRI endpoint prefixes and 1-128 for IPv6 409 Link NLRI endpoint prefixes. 411 4.2.2. BGP-LS Link NLRI Attribute SPF Status TLV 413 A BGP-LS Attribute TLV to BGP-LS Link NLRI is defined to indicate the 414 status of the link with respect to the BGP SPF calculation. This 415 will be used to expedite convergence for link failures as discussed 416 in Section 5.6.1. If the SPF Status TLV is not included with the 417 Link NLRI, the link is considered up and available. 419 0 1 2 3 420 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 421 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 422 | TBD Type | Length | 423 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 424 | SPF Status | 425 +-+-+-+-+-+-+-+-+ 427 BGP Status Values: 0 - Reserved 428 1 - Link Unreachable with respect to BGP SPF 429 2-254 - Undefined 430 255 - Reserved 432 4.3. Prefix NLRI Usage 434 Prefix NLRI is advertised with a local node descriptor as described 435 above and the prefix and length used as the descriptors (TLV 265) as 436 described in [RFC7752]. The prefix metric attribute TLV (TLV 1155) 437 as well as any others required for non-SPF purposes SHOULD be 438 advertised. For loopback prefixes, the metric should be 0. For non- 439 loopback prefixes, the setting of the metric is a local matter and 440 beyond the scope of this document. 442 4.3.1. BGP-LS Prefix NLRI Attribute SPF Status TLV 444 A BGP-LS Attribute TLV to BGP-LS Prefix NLRI is defined to indicate 445 the status of the prefix with respect to the BGP SPF calculation. 446 This will be used to expedite convergence for prefix unreachability 447 as discussed in Section 5.6.1. If the SPF Status TLV is not included 448 with the Prefix NLRI, the prefix is considered reachable. 450 0 1 2 3 451 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 452 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 453 | TBD Type | Length | 454 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 455 | SPF Status | 456 +-+-+-+-+-+-+-+-+ 458 BGP Status Values: 0 - Reserved 459 1 - Prefix down with respect to SPF 460 2-254 - Undefined 461 255 - Reserved 463 4.4. BGP-LS Attribute Sequence-Number TLV 465 A new BGP-LS Attribute TLV to BGP-LS NLRI types is defined to assure 466 the most recent version of a given NLRI is used in the SPF 467 computation. The TBD TLV type will be defined by IANA. The new BGP- 468 LS Attribute TLV will contain an 8-octet sequence number. The usage 469 of the Sequence Number TLV is described in Section 5.1. 471 0 1 2 3 472 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 473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 474 | Type | Length | 475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 476 | Sequence Number (High-Order 32 Bits) | 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 478 | Sequence Number (Low-Order 32 Bits) | 479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 481 Sequence Number 483 The 64-bit strictly increasing sequence number is incremented for 484 every version of BGP-LS NLRI originated. BGP speakers implementing 485 this specification MUST use available mechanisms to preserve the 486 sequence number's strictly increasing property for the deployed life 487 of the BGP speaker (including cold restarts). One mechanism for 488 accomplishing this would be to use the high-order 32 bits of the 489 sequence number as a wrap/boot count that is incremented anytime the 490 BGP router loses its sequence number state or the low-order 32 bits 491 wrap. 493 When incrementing the sequence number for each self-originated NLRI, 494 the sequence number should be treated as an unsigned 64-bit value. 495 If the lower-order 32-bit value wraps, the higher-order 32-bit value 496 should be incremented and saved in non-volatile storage. If by some 497 chance the BGP Speaker is deployed long enough that there is a 498 possibility that the 64-bit sequence number may wrap or a BGP Speaker 499 completely loses its sequence number state (e.g., the BGP speaker 500 hardware is replaced or experiences a cold-start), the phase 1 501 decision function (see Section 5.1) rules will insure convergence, 502 albeit, not immediately. 504 5. Decision Process with SPF Algorithm 506 The Decision Process described in [RFC4271] takes place in three 507 distinct phases. The Phase 1 decision function of the Decision 508 Process is responsible for calculating the degree of preference for 509 each route received from a BGP speaker's peer. The Phase 2 decision 510 function is invoked on completion of the Phase 1 decision function 511 and is responsible for choosing the best route out of all those 512 available for each distinct destination, and for installing each 513 chosen route into the Loc-RIB. The combination of the Phase 1 and 2 514 decision functions is characterized as a Path Vector algorithm. 516 The SPF based Decision process replaces the BGP best-path Decision 517 process described in [RFC4271]. This process starts with selecting 518 only those Node NLRI whose SPF capability TLV matches with the local 519 BGP speaker's SPF capability TLV value. Since Link-State NLRI always 520 contains the local descriptor [RFC7752], it will only be originated 521 by a single BGP speaker in the BGP routing domain. These selected 522 Node NLRI and their Link/Prefix NLRI are used to build a directed 523 graph during the SPF computation. The best paths for BGP prefixes 524 are installed as a result of the SPF process. 526 When BGP-LS-SPF NLRI is received, all that is required is to 527 determine whether it is the best-path by examining the Node-ID and 528 sequence number as described in Section 5.1. If the received best- 529 path NLRI had changed, it will be advertised to other BGP-LS-SPF 530 peers. If the attributes have changed (other than the sequence 531 number), a BGP SPF calculation will be scheduled. However, a changed 532 NLRI MAY be advertised to other peers almost immediately and 533 propagation of changes can approach IGP convergence times. To 534 accomplish this, the MinRouteAdvertisementIntervalTimer and 535 MinASOriginationIntervalTimer [RFC4271] are not applicable to the 536 BGP-LS-SPF SAFI. Rather, SPF calculations SHOULD be triggered and 537 dampened consistent with the SPF back-off algorithm specified in 538 [RFC8405]. 540 The Phase 3 decision function of the Decision Process [RFC4271] is 541 also simplified since under normal SPF operation, a BGP speaker would 542 advertise the NLRI selected for the SPF to all BGP peers with the 543 BGP-LS/BGP-LS-SPF AFI/SAFI. Application of policy would not be 544 prevented however its usage to best-path process would be limited as 545 the SPF relies solely on link metrics. 547 5.1. Phase-1 BGP NLRI Selection 549 The rules for NLRI selection are greatly simplified from [RFC4271]. 551 1. If the NLRI is received from the BGP speaker originating the NLRI 552 (as determined by the comparing BGP Router ID in the NLRI Node 553 identifiers with the BGP speaker Router ID), then it is preferred 554 over the same NLRI from non-originators. This rule will assure 555 that stale NLRI is updated even if a BGP-LS router loses its 556 sequence number state due to a cold-start. 558 2. If the Sequence-Number TLV is present in the BGP-LS Attribute, 559 then the NLRI with the most recent, i.e., highest sequence number 560 is selected. BGP-LS NLRI with a Sequence-Number TLV will be 561 considered more recent than NLRI without a BGP-LS Attribute or a 562 BGP-LS Attribute that doesn't include the Sequence-Number TLV. 564 3. The final tie-breaker is the NLRI from the BGP Speaker with the 565 numerically largest BGP Router ID. 567 When a BGP speaker completely loses its sequence number state, i.e., 568 due to a cold start, or in the unlikely possibility that that 569 sequence number wraps, the BGP routing domain will still converge. 570 This is due to the fact that BGP speakers adjacent to the router will 571 always accept self-originated NLRI from the associated speaker as 572 more recent (rule # 1). When BGP speaker reestablishes a connection 573 with its peers, any existing session will be taken down and stale 574 NLRI will be replaced by the new NLRI and stale NLRI will be 575 discarded independent of whether or not BGP graceful restart is 576 deployed, [RFC4724]. The adjacent BGP speaker will update their NLRI 577 advertisements in turn until the BGP routing domain has converged. 579 The modified SPF Decision Process performs an SPF calculation rooted 580 at the BGP speaker using the metrics from Link and Prefix NLRI 581 Attribute TLVs [RFC7752]. As a result, any attributes that would 582 influence the Decision process defined in [RFC4271] like ORIGIN, 583 MULTI_EXIT_DISC, and LOCAL_PREF attributes are ignored by the SPF 584 algorithm. Furthermore, the NEXT_HOP attribute value is preserved 585 but otherwise ignored during the SPF or best-path. 587 5.2. Dual Stack Support 589 The SPF-based decision process operates on Node, Link, and Prefix 590 NLRIs that support both IPv4 and IPv6 addresses. Whether to run a 591 single SPF instance or multiple SPF instances for separate AFs is a 592 matter of a local implementation. Normally, IPv4 next-hops are 593 calculated for IPv4 prefixes and IPv6 next-hops are calculated for 594 IPv6 prefixes. However, an interesting use-case is deployment of 595 [RFC5549] where IPv6 next-hops are calculated for both IPv4 and IPv6 596 prefixes. As stated in Section 1, support for Multiple Topology 597 Routing (MTR) is an area for future study. 599 5.3. SPF Calculation based on BGP-LS NLRI 601 This section details the BGP-LS SPF local routing information base 602 (RIB) calculation. The router will use BGP-LS Node, Link, and Prefix 603 NLRI to populate the local RIB using the following algorithm. This 604 calculation yields the set of intra-area routes associated with the 605 BGP-LS domain. A router calculates the shortest-path tree using 606 itself as the root. Variations and optimizations of the algorithm 607 are valid as long as it yields the same set of routes. The algorithm 608 below supports Equal Cost Multi-Path (ECMP) routes. Weighted Unequal 609 Cost Multi-Path are out of scope. The organization of this section 610 owes heavily to section 16 of [RFC2328]. 612 The following abstract data structures are defined in order to 613 specify the algorithm. 615 o Local Route Information Base (RIB) - This is abstract contains 616 reachability information (i.e., next hops) for all prefixes (both 617 IPv4 and IPv6) as well as the Node NLRI reachability. 618 Implementations may choose to implement this as separate RIBs for 619 each address family and/or Node NLRI. 621 o Link State NLRI Database (LSNDB) - Database of BGP-LS NLRI that 622 facilitates access to all Node, Link, and Prefix NLRI as well as 623 all the Link and Prefix NLRI corresponding to a given Node NLRI. 624 Other optimization, such as, resolving bi-directional connectivity 625 associations between Link NLRI are possible but of scope of this 626 document. 628 o Candidate List - This is a list of candidate Node NLRI with the 629 lowest cost Node NLRI at the front of the list. It is typically 630 implemented as a heap but other concrete data structures have also 631 been used. 633 The algorithm is comprised of the steps below: 635 1. The current local RIB is invalidated. The local RIB is rebuilt 636 during the course of the SPF computation. The existing routing 637 entries are preserved for comparison to determine changes that 638 need to be installed in the global RIB. 640 2. The computing router's Node NLRI is installed in the local RIB 641 with a cost of 0 and as the sole entry in the candidate list. 643 3. The Node NLRI with the lowest cost is removed from the candidate 644 list for processing. If the BGP-LS Node attribute includes an 645 SPF Status TLV (Section 4.1.2) indicating the node is 646 unreachable, the Node NLRI is ignored and the next lowest cost 647 Node NLRI is selected from candidate list. The Node 648 corresponding to this NLRI will be referred to as the Current 649 Node. If the candidate list is empty, the SPF calculation has 650 completed and the algorithm proceeds to step 6. 652 4. All the Prefix NLRI with the same Node Identifiers as the Current 653 Node will be considered for installation. The cost for each 654 prefix is the metric advertised in the Prefix NLRI added to the 655 cost to reach the Current Node. 657 * If the BGP-LS Prefix attribute includes an SPF Status TLV 658 indicating the prefix is unreachable, the BGP-LS Prefix NLRI 659 is considered unreachable and the next BGP-LS Prefix NLRI is 660 examined. 662 * If the prefix is in the local RIB and the cost is greater than 663 the Current route's metric, the Prefix NLRI does not 664 contribute to the route and is ignored. 666 * If the prefix is in the local RIB and the cost is less than 667 the current route's metric, the Prefix is installed with the 668 Current Node's next-hops replacing the local RIB route's next- 669 hops and the metric being updated. 671 * If the prefix is in the local RIB and the cost is same as the 672 current route's metric, the Prefix is installed with the 673 Current Node's next-hops being merged with local RIB route's 674 next-hops. 676 5. All the Link NLRI with the same Node Identifiers as the Current 677 Node will be considered for installation. Each link will be 678 examined and will be referred to in the following text as the 679 Current Link. The cost of the Current Link is the advertised 680 metric in the Link NLRI added to the cost to reach the Current 681 Node. 683 * Optionally, the prefix(es) associated with the Current Link 684 are installed into the local RIB using the same rules as were 685 used for Prefix NLRI in the previous steps. 687 * If the current Node NLRI attributes includes the SPF status 688 TLV (Section 4.1.2) and the status indicates that the Node 689 doesn't support transit, the next link for the current node is 690 processed. 692 * The Current Link's endpoint Node NLRI is accessed (i.e., the 693 Node NLRI with the same Node identifiers as the Link 694 endpoint). If it exists, it will be referred to as the 695 Endpoint Node NLRI and the algorithm will proceed as follows: 697 + If the BGP-LS Link NLRI attribute includes an SPF Status 698 TLV indicating the link is down, the BGP-LS Link NLRI is 699 considered down and the next BGP-LS Link NLRI is examined. 701 + All the Link NLRI corresponding the Endpoint Node NLRI will 702 be searched for a back-link NLRI pointing to the current 703 node. Both the Node identifiers and the Link endpoint 704 identifiers in the Endpoint Node's Link NLRI must match for 705 a match. If there is no corresponding Link NLRI 706 corresponding to the Endpoint Node NLRI, the Endpoint Node 707 NLRI fails the bi-directional connectivity test and is not 708 processed further. 710 + If the Endpoint Node NLRI is not on the candidate list, it 711 is inserted based on the link cost and BGP Identifier (the 712 latter being used as a tie-breaker). 714 + If the Endpoint Node NLRI is already on the candidate list 715 with a lower cost, it need not be inserted again. 717 + If the Endpoint Node NLRI is already on the candidate list 718 with a higher cost, it must be removed and reinserted with 719 a lower cost. 721 * Return to step 3 to process the next lowest cost Node NLRI on 722 the candidate list. 724 6. The local RIB is examined and changes (adds, deletes, 725 modifications) are installed into the global RIB. 727 5.4. NEXT_HOP Manipulation 729 A BGP speaker that supports SPF extensions MAY interact with peers 730 that don't support SPF extensions. If the BGP-LS address family is 731 advertised to a peer not supporting the SPF extensions described 732 herein, then the BGP speaker MUST conform to the NEXT_HOP rules 733 specified in [RFC4271] when announcing the Link-State address family 734 routes to those peers. 736 All BGP peers that support SPF extensions would locally compute the 737 Loc-RIB next-hops as a result of the SPF process. Consequently, the 738 NEXT_HOP attribute is always ignored on receipt. However, BGP 739 speakers SHOULD set the NEXT_HOP address according to the NEXT_HOP 740 attribute rules specified in [RFC4271]. 742 5.5. IPv4/IPv6 Unicast Address Family Interaction 744 While the BGP-LS SPF address family and the IPv4/IPv6 unicast address 745 families install routes into the same device routing tables, they 746 will operate independently much the same as OSPF and IS-IS would 747 operate today (i.e., "Ships-in-the-Night" mode). There will be no 748 implicit route redistribution between the BGP address families. 749 However, implementation specific redistribution mechanisms SHOULD be 750 made available with the restriction that redistribution of BGP-LS SPF 751 routes into the IPv4 address family applies only to IPv4 routes and 752 redistribution of BGP-LS SPF route into the IPv6 address family 753 applies only to IPv6 routes. 755 Given the fact that SPF algorithms are based on the assumption that 756 all routers in the routing domain calculate the precisely the same 757 SPF tree and install the same set of routes, it is RECOMMENDED that 758 BGP-LS SPF IPv4/IPv6 routes be given priority by default when 759 installed into their respective RIBs. In common implementations the 760 prioritization is governed by route preference or administrative 761 distance with lower being more preferred. 763 5.6. NLRI Advertisement and Convergence 765 5.6.1. Link/Prefix Failure Convergence 767 A local failure will prevent a link from being used in the SPF 768 calculation due to the IGP bi-directional connectivity requirement. 769 Consequently, local link failures should always be given priority 770 over updates (e.g., withdrawing all routes learned on a session) in 771 order to ensure the highest priority propagation and optimal 772 convergence. 774 An IGP such as OSPF [RFC2328] will stop using the link as soon as the 775 Router-LSA for one side of the link is received. With normal BGP 776 advertisement, the link would continue to be used until the last copy 777 of the BGP-LS Link NLRI is withdrawn. In order to avoid this delay, 778 the originator of the Link NLRI will advertise a more recent version 779 of the BGP-LS Link NLRI including the SPF Status TLV Section 4.2.2 780 indicating the link is down with respect to BGP SPF. After some 781 configurable period of time, e.g., 2-3 seconds, the BGP-LS Link NLRI 782 can be withdrawn with no consequence. If the link becomes available 783 in that period, the originator of the BGP-LS LINK NLRI will simply 784 advertise a more recent version of the BGP-LS Link NLRI without the 785 SPF Status TLV in the BGP-LS Link Attributes. 787 Similarly, when a prefix becomes unreachable, a more recent version 788 of the BGP-LS Prefix NLRI will be advertised with the SPF Status TLV 789 Section 4.3.1 indicating the prefix is unreachable in the BGP-LS 790 Prefix Attributes and the prefix will be considered unreachable with 791 respect to BGP SPF. After some configurable period of time, e.g., 792 2-3 seconds, the BGP-LS Prefix NLRI can be withdrawn with no 793 consequence. If the prefix becomes reachable in that period, the 794 originator of the BGP-LS Prefix NLRI will simply advertise a more 795 recent version of the BGP-LS Prefix NLRI without the SPF Status TLV 796 in the BGP-LS Prefix Attributes. 798 5.6.2. Node Failure Convergence 800 With BGP without graceful restart [RFC4724], all the NLRI advertised 801 by node are implicitly withdrawn when a session failure is detected. 802 If fast failure detection such as BFD is utilized, and the node is on 803 the fastest converging path, the most recent versions of BGP-LS NLRI 804 may be withdrawn while these versions are in-flight on longer paths. 805 This will result the older version of the NLRI being used until the 806 new versions arrive and, potentially, unnecessary route flaps. 807 Therefore, BGP-LS SPF NLRI SHOULD always be retained before being 808 implicitly withdrawn for a brief configurable interval, e.g., 2-3 809 seconds. This will not delay convergence since the adjacent nodes 810 will detect the link failure and advertise a more recent NLRI 811 indicating the link is down with respect to BGP SPF Section 5.6.1 and 812 the BGP-SPF calculation will failure the bi-directional connectivity 813 check. 815 5.7. Error Handling 817 When a BGP speaker receives a BGP Update containing a malformed SPF 818 Capability TLV in the Node NLRI BGP-LS Attribute [RFC7752], it MUST 819 ignore the received TLV and the Node NLRI and not pass it to other 820 BGP peers as specified in [RFC7606]. When discarding a Node NLRI 821 with malformed TLV, a BGP speaker SHOULD log an error for further 822 analysis. 824 6. IANA Considerations 826 This document defines an AFI/SAFI for BGP-LS SPF operation and 827 requests IANA to assign the BGP-LS/BGP-LS-SPF (AFI 16388 / SAFI TBD1) 828 as described in [RFC4760]. 830 This document also defines five attribute TLVs for BGP-LS NLRI. We 831 request IANA to assign types for the SPF capability TLV, Sequence 832 Number TLV, IPv4 Link Prefix-Length TLV, IPv6 Link Prefix-Length TLV, 833 and SPF Status TLV from the "BGP-LS Node Descriptor, Link Descriptor, 834 Prefix Descriptor, and Attribute TLVs" Registry. 836 7. Security Considerations 838 This extension to BGP does not change the underlying security issues 839 inherent in the existing [RFC4271], [RFC4724], and [RFC7752]. 841 8. Management Considerations 843 This section includes unique management considerations for the BGP-LS 844 SPF address family. 846 8.1. Configuration 848 In addition to configuration of the BGP-LS SPF address family, 849 implementations SHOULD support the configuration of the 850 INITIAL_SPF_DELAY, SHORT_SPF_DELAY, LONG_SPF_DELAY, TIME_TO_LEARN, 851 and HOLDDOWN_INTERVAL as documented in [RFC8405]. 853 8.2. Operational Data 855 In order to troubleshoot SPF issues, implementations SHOULD support 856 an SPF log including entries for previous SPF computations, Each SPF 857 log entry would include the BGP-LS NLRI SPF triggering the SPF, SPF 858 scheduled time, SPF start time, SPF end time, and SPF type if 859 different types of SPF are supported. Since the size of the log will 860 be finite, implementations SHOULD also maintain counters for the 861 total number of SPF computations of each type and the total number of 862 SPF triggering events. Additionally, to troubleshoot SPF scheduling 863 and back-off [RFC8405], the current SPF back-off state, remaining 864 time-to-learn, remaining holddown, last trigger event time, last SPF 865 time, and next SPF time should be available. 867 9. Implementation Status 869 Note RFC Editor: Please remove this section and the associated 870 references prior to publication. 872 This section records the status of known implementations of the 873 protocol defined by this specification at the time of posting of this 874 Internet-Draft, and is based on a proposal described in [RFC7942]. 875 The description of implementations in this section is intended to 876 assist the IETF in its decision processes in progressing drafts to 877 RFCs. Please note that the listing of any individual implementation 878 here does not imply endorsement by the IETF. Furthermore, no effort 879 has been spent to verify the information presented here that was 880 supplied by IETF contributors. This is not intended as, and must not 881 be construed to be, a catalog of available implementations or their 882 features. Readers are advised to note that other implementations may 883 exist. 885 According to RFC 7942, "this will allow reviewers and working groups 886 to assign due consideration to documents that have the benefit of 887 running code, which may serve as evidence of valuable experimentation 888 and feedback that have made the implemented protocols more mature. 889 It is up to the individual working groups to use this information as 890 they see fit". 892 The BGP-LS SPF implementatation status is documented in 893 [I-D.psarkar-lsvr-bgp-spf-impl]. 895 10. Acknowledgements 897 The authors would like to thank Sue Hares, Jorge Rabadan, Boris 898 Hassanov, Dan Frost, Matt Anderson, Fred Baker, and Lukas Krattiger 899 for their review and comments. Thanks to Pushpasis Sarkar for 900 discussions on preventing a BGP SPF Router from being used for non- 901 local traffic (i.e., transit traffic). 903 The authors extend special thanks to Eric Rosen for fruitful 904 discussions on BGP-LS SPF convergence as compared to IGPs. 906 11. Contributors 908 In addition to the authors listed on the front page, the following 909 co-authors have contributed to the document. 911 Derek Yeung 912 Arrcus, Inc. 913 derek@arrcus.com 915 Gunter Van De Velde 916 Nokia 917 gunter.van_de_velde@nokia.com 919 Abhay Roy 920 Arrcus, Inc. 921 abhay@arrcus.com 923 Venu Venugopal 924 Cisco Systems 925 venuv@cisco.com 927 Chaitanya Yadlapalli 928 AT&T 929 cy098d@att.com 931 12. References 933 12.1. Normative References 935 [I-D.ietf-idr-bgpls-segment-routing-epe] 936 Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, 937 S., and J. Dong, "BGP-LS extensions for Segment Routing 938 BGP Egress Peer Engineering", draft-ietf-idr-bgpls- 939 segment-routing-epe-19 (work in progress), May 2019. 941 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 942 Requirement Levels", BCP 14, RFC 2119, 943 DOI 10.17487/RFC2119, March 1997, 944 . 946 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 947 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 948 DOI 10.17487/RFC4271, January 2006, 949 . 951 [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. 952 Patel, "Revised Error Handling for BGP UPDATE Messages", 953 RFC 7606, DOI 10.17487/RFC7606, August 2015, 954 . 956 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 957 S. Ray, "North-Bound Distribution of Link-State and 958 Traffic Engineering (TE) Information Using BGP", RFC 7752, 959 DOI 10.17487/RFC7752, March 2016, 960 . 962 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 963 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 964 May 2017, . 966 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 967 Decraene, B., Litkowski, S., and R. Shakir, "Segment 968 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 969 July 2018, . 971 [RFC8405] Decraene, B., Litkowski, S., Gredler, H., Lindem, A., 972 Francois, P., and C. Bowers, "Shortest Path First (SPF) 973 Back-Off Delay Algorithm for Link-State IGPs", RFC 8405, 974 DOI 10.17487/RFC8405, June 2018, 975 . 977 12.2. Information References 979 [I-D.ietf-lsvr-applicability] 980 Patel, K., Lindem, A., Zandi, S., and G. Dawra, "Usage and 981 Applicability of Link State Vector Routing in Data 982 Centers", draft-ietf-lsvr-applicability-05 (work in 983 progress), March 2020. 985 [I-D.psarkar-lsvr-bgp-spf-impl] 986 Sarkar, P., Patel, K., Pallagatti, S., and s. 987 sajibasil@gmail.com, "BGP Shortest Path Routing Extension 988 Implementation Report", draft-psarkar-lsvr-bgp-spf-impl-00 989 (work in progress), June 2020. 991 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, 992 DOI 10.17487/RFC2328, April 1998, 993 . 995 [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route 996 Reflection: An Alternative to Full Mesh Internal BGP 997 (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, 998 . 1000 [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. 1001 Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, 1002 DOI 10.17487/RFC4724, January 2007, 1003 . 1005 [RFC4750] Joyal, D., Ed., Galecki, P., Ed., Giacalone, S., Ed., 1006 Coltun, R., and F. Baker, "OSPF Version 2 Management 1007 Information Base", RFC 4750, DOI 10.17487/RFC4750, 1008 December 2006, . 1010 [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, 1011 "Multiprotocol Extensions for BGP-4", RFC 4760, 1012 DOI 10.17487/RFC4760, January 2007, 1013 . 1015 [RFC4790] Newman, C., Duerst, M., and A. Gulbrandsen, "Internet 1016 Application Protocol Collation Registry", RFC 4790, 1017 DOI 10.17487/RFC4790, March 2007, 1018 . 1020 [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. 1021 Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", 1022 RFC 4915, DOI 10.17487/RFC4915, June 2007, 1023 . 1025 [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for 1026 IP Fast Reroute: Loop-Free Alternates", RFC 5286, 1027 DOI 10.17487/RFC5286, September 2008, 1028 . 1030 [RFC5549] Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network 1031 Layer Reachability Information with an IPv6 Next Hop", 1032 RFC 5549, DOI 10.17487/RFC5549, May 2009, 1033 . 1035 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 1036 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 1037 . 1039 [RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of 1040 BGP for Routing in Large-Scale Data Centers", RFC 7938, 1041 DOI 10.17487/RFC7938, August 2016, 1042 . 1044 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 1045 Code: The Implementation Status Section", BCP 205, 1046 RFC 7942, DOI 10.17487/RFC7942, July 2016, 1047 . 1049 Authors' Addresses 1051 Keyur Patel 1052 Arrcus, Inc. 1054 Email: keyur@arrcus.com 1056 Acee Lindem 1057 Cisco Systems 1058 301 Midenhall Way 1059 Cary, NC 27513 1060 USA 1062 Email: acee@cisco.com 1064 Shawn Zandi 1065 LinkedIn 1066 222 2nd Street 1067 San Francisco, CA 94105 1068 USA 1070 Email: szandi@linkedin.com 1072 Wim Henderickx 1073 Nokia 1074 Antwerp 1075 Belgium 1077 Email: wim.henderickx@nokia.com