| < draft-ietf-lsvr-bgp-spf-00.txt | draft-ietf-lsvr-bgp-spf-01.txt > | |||
|---|---|---|---|---|
| Network Working Group K. Patel | Network Working Group K. Patel | |||
| Internet-Draft Arrcus, Inc. | Internet-Draft Arrcus, Inc. | |||
| Intended status: Standards Track A. Lindem | Intended status: Standards Track A. Lindem | |||
| Expires: December 1, 2018 Cisco Systems | Expires: December 2, 2018 Cisco Systems | |||
| S. Zandi | S. Zandi | |||
| W. Henderickx | W. Henderickx | |||
| Nokia | Nokia | |||
| May 30, 2018 | May 31, 2018 | |||
| Shortest Path Routing Extensions for BGP Protocol | Shortest Path Routing Extensions for BGP Protocol | |||
| draft-ietf-lsvr-bgp-spf-00.txt | draft-ietf-lsvr-bgp-spf-01.txt | |||
| Abstract | Abstract | |||
| Many Massively Scaled Data Centers (MSDCs) have converged on | Many Massively Scaled Data Centers (MSDCs) have converged on | |||
| simplified layer 3 routing. Furthermore, requirements for | simplified layer 3 routing. Furthermore, requirements for | |||
| operational simplicity have lead many of these MSDCs to converge on | operational simplicity have lead many of these MSDCs to converge on | |||
| BGP as their single routing protocol for both their fabric routing | BGP as their single routing protocol for both their fabric routing | |||
| and their Data Center Interconnect (DCI) routing. This document | and their Data Center Interconnect (DCI) routing. This document | |||
| describes a solution which leverages BGP Link-State distribution and | describes a solution which leverages BGP Link-State distribution and | |||
| the Shortest Path First algorithm similar to Internal Gateway | the Shortest Path First (SPF) algorithm similar to Internal Gateway | |||
| Protocols (IGPs) such as OSPF. | Protocols (IGPs) such as OSPF. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 1, 2018. | This Internet-Draft will expire on December 2, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 43 ¶ | skipping to change at page 2, line 43 ¶ | |||
| 2.1. BGP Single-Hop Peering on Network Node Connections . . . 5 | 2.1. BGP Single-Hop Peering on Network Node Connections . . . 5 | |||
| 2.2. BGP Peering Between Directly Connected Network Nodes . . 5 | 2.2. BGP Peering Between Directly Connected Network Nodes . . 5 | |||
| 2.3. BGP Peering in Route-Reflector or Controller Topology . . 6 | 2.3. BGP Peering in Route-Reflector or Controller Topology . . 6 | |||
| 3. BGP-LS Shortest Path Routing (SPF) SAFI . . . . . . . . . . . 6 | 3. BGP-LS Shortest Path Routing (SPF) SAFI . . . . . . . . . . . 6 | |||
| 4. Extensions to BGP-LS . . . . . . . . . . . . . . . . . . . . 6 | 4. Extensions to BGP-LS . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.1. Node NLRI Usage and Modifications . . . . . . . . . . . . 7 | 4.1. Node NLRI Usage and Modifications . . . . . . . . . . . . 7 | |||
| 4.2. Link NLRI Usage . . . . . . . . . . . . . . . . . . . . . 7 | 4.2. Link NLRI Usage . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.3. Prefix NLRI Usage . . . . . . . . . . . . . . . . . . . . 8 | 4.3. Prefix NLRI Usage . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4.4. BGP-LS Attribute Sequence-Number TLV . . . . . . . . . . 8 | 4.4. BGP-LS Attribute Sequence-Number TLV . . . . . . . . . . 8 | |||
| 5. Decision Process with SPF Algorithm . . . . . . . . . . . . . 9 | 5. Decision Process with SPF Algorithm . . . . . . . . . . . . . 9 | |||
| 5.1. Phase-1 BGP NLRI Selection . . . . . . . . . . . . . . . 9 | 5.1. Phase-1 BGP NLRI Selection . . . . . . . . . . . . . . . 10 | |||
| 5.2. Dual Stack Support . . . . . . . . . . . . . . . . . . . 10 | 5.2. Dual Stack Support . . . . . . . . . . . . . . . . . . . 10 | |||
| 5.3. NEXT_HOP Manipulation . . . . . . . . . . . . . . . . . . 10 | 5.3. NEXT_HOP Manipulation . . . . . . . . . . . . . . . . . . 11 | |||
| 5.4. IPv4/IPv6 Unicast Address Family Interaction . . . . . . 11 | 5.4. IPv4/IPv6 Unicast Address Family Interaction . . . . . . 11 | |||
| 5.5. NLRI Advertisement and Convergence . . . . . . . . . . . 11 | 5.5. NLRI Advertisement and Convergence . . . . . . . . . . . 11 | |||
| 5.6. Error Handling . . . . . . . . . . . . . . . . . . . . . 11 | 5.6. Error Handling . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 7.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . 12 | 7.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7.2. Contributors . . . . . . . . . . . . . . . . . . . . . . 12 | 7.2. Contributors . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 13 | |||
| 8.2. Information References . . . . . . . . . . . . . . . . . 14 | 8.2. Information References . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 1. Introduction | 1. Introduction | |||
| skipping to change at page 3, line 32 ¶ | skipping to change at page 3, line 32 ¶ | |||
| [RFC4271] defines the Decision Process that is used to select routes | [RFC4271] defines the Decision Process that is used to select routes | |||
| for subsequent advertisement by applying the policies in the local | for subsequent advertisement by applying the policies in the local | |||
| Policy Information Base (PIB) to the routes stored in its Adj-RIBs- | Policy Information Base (PIB) to the routes stored in its Adj-RIBs- | |||
| In. The output of the Decision Process is the set of routes that are | In. The output of the Decision Process is the set of routes that are | |||
| announced by a BGP speaker to its peers. These selected routes are | announced by a BGP speaker to its peers. These selected routes are | |||
| stored by a BGP speaker in the speaker's Adj-RIBs-Out according to | stored by a BGP speaker in the speaker's Adj-RIBs-Out according to | |||
| policy. | policy. | |||
| [RFC7752] describes a mechanism by which link-state and TE | [RFC7752] describes a mechanism by which link-state and TE | |||
| information can be collected from networks and shared with external | information can be collected from networks and shared with external | |||
| components using BGP. This is achieved by defining NLRI carried | components using BGP. This is achieved by defining NLRI advertised | |||
| within BGP-LS AFI and BGP-LS SAFIs. The BGP-LS extensions defined in | within the BGP-LS/BGP-LS-SPF AFI/SAFI. The BGP-LS extensions defined | |||
| [RFC7752] makes use of the Decision Process defined in [RFC4271]. | in [RFC7752] makes use of the Decision Process defined in [RFC4271]. | |||
| This document augments [RFC7752] by replacing its use of the existing | This document augments [RFC7752] by replacing its use of the existing | |||
| Decision Process. The BGP-LS-SPF and BGP-LS-SPF-VPN AFI/SAFI are | Decision Process. Rather than reusing the BGP-LS SAFI, the BGP-LS- | |||
| introduced to insure backward compatibility. The Phase 1 and 2 | SPF SAFI is introduced to insure backward compatibility. The Phase 1 | |||
| decision functions of the Decision Process are replaced with the | and 2 decision functions of the Decision Process are replaced with | |||
| Shortest Path Algorithm (SPF) also known as the Dijkstra Algorithm. | the Shortest Path First (SPF) algorithm also known as the Dijkstra | |||
| The Phase 3 decision function is also simplified since it is no | algorithm. The Phase 3 decision function is also simplified since it | |||
| longer dependent on the previous phases. This solution avails the | is no longer dependent on the previous phases. This solution avails | |||
| benefits of both BGP and SPF-based IGPs. These include TCP based | the benefits of both BGP and SPF-based IGPs. These include TCP based | |||
| flow-control, no periodic link-state refresh, and completely | flow-control, no periodic link-state refresh, and completely | |||
| incremental NLRI advertisement. These advantages can reduce the | incremental NLRI advertisement. These advantages can reduce the | |||
| overhead in MSDCs where there is a high degree of Equal Cost Multi- | overhead in MSDCs where there is a high degree of Equal Cost Multi- | |||
| Path (ECMPs) and the topology is very stable. Additionally, using a | Path (ECMPs) and the topology is very stable. Additionally, using a | |||
| SPF-based computation can support fast convergence and the | SPF-based computation can support fast convergence and the | |||
| computation of Loop-Free Alternatives (LFAs) [RFC5286] in the event | computation of Loop-Free Alternatives (LFAs) [RFC5286] in the event | |||
| of link failures. Furthermore, a BGP based solution lends itself to | of link failures. Furthermore, a BGP based solution lends itself to | |||
| multiple peering models including those incorporating route- | multiple peering models including those incorporating route- | |||
| reflectors [RFC4456] or controllers. | reflectors [RFC4456] or controllers. | |||
| skipping to change at page 4, line 19 ¶ | skipping to change at page 4, line 19 ¶ | |||
| Given that [RFC7938] already describes how BGP could be used as the | Given that [RFC7938] already describes how BGP could be used as the | |||
| sole routing protocol in an MSDC, one might question the motivation | sole routing protocol in an MSDC, one might question the motivation | |||
| for defining an alternate BGP deployment model when a mature solution | for defining an alternate BGP deployment model when a mature solution | |||
| exists. For both alternatives, BGP offers the operational benefits | exists. For both alternatives, BGP offers the operational benefits | |||
| of a single routing protocol. However, BGP SPF offers some unique | of a single routing protocol. However, BGP SPF offers some unique | |||
| advantages above and beyond standard BGP distance-vector routing. | advantages above and beyond standard BGP distance-vector routing. | |||
| A primary advantage is that all BGP speakers in the BGP SPF routing | A primary advantage is that all BGP speakers in the BGP SPF routing | |||
| domain will have a complete view of the topology. This will allow | domain will have a complete view of the topology. This will allow | |||
| support of ECMP, IP fast-reroute (e.g., Loop-Free Alternatives), | support for ECMP, IP fast-reroute (e.g., Loop-Free Alternatives), | |||
| Shared Risk Link Groups (SRLGs), and other routing enhancements | Shared Risk Link Groups (SRLGs), and other routing enhancements | |||
| without advertisement of addition BGP paths or other extensions. In | without advertisement of addition BGP paths or other extensions. In | |||
| short, the advantages of an IGP such as OSPF [RFC2328] are availed in | short, the advantages of an IGP such as OSPF [RFC2328] are availed in | |||
| BGP. | BGP. | |||
| With the simplified BGP decision process as defined in Section 5.1, | With the simplified BGP decision process as defined in Section 5.1, | |||
| NLRI changes can be disseminated throughout the BGP routing domain | NLRI changes can be disseminated throughout the BGP routing domain | |||
| much more rapidly (equivalent to IGPs with the proper | much more rapidly (equivalent to IGPs with the proper | |||
| implementation). | implementation). | |||
| Another primary advantage is a potential reduction in NLRI | Another primary advantage is a potential reduction in NLRI | |||
| advertisement. With standard BGP distance-vector routing, a single | advertisement. With standard BGP distance-vector routing, a single | |||
| link failure may impact 100s or 1000s prefixes and result in the | link failure may impact 100s or 1000s prefixes and result in the | |||
| withdrawal or re-advertisement of the attendant NLRI. With BGP SPF, | withdrawal or re-advertisement of the attendant NLRI. With BGP SPF, | |||
| only the BGP speakers corresponding to the link NLRI need withdraw | only the BGP speakers corresponding to the link NLRI need withdraw | |||
| the corresponding BGP-LS Link NLRI. This advantage will contribute | the corresponding BGP-LS Link NLRI. This advantage will contribute | |||
| to both faster convergence and better scaling. | to both faster convergence and better scaling. | |||
| With controller and route-reflector peering models, BGP SPF | With controller and route-reflector peering models, BGP SPF | |||
| advertisement and distributed computation require a minimal number of | advertisement and distributed computation require a minimal number of | |||
| sessions and copies of the NLRI since only the latest verion of the | sessions and copies of the NLRI since only the latest version of the | |||
| NLRI from the originator is required. Given that verification of the | NLRI from the originator is required. Given that verification of the | |||
| adjacencies is done outside of BGP (see Section 2), each BGP speaker | adjacencies is done outside of BGP (see Section 2), each BGP speaker | |||
| will only need as many sessions and copies of the NLRI as required | will only need as many sessions and copies of the NLRI as required | |||
| for redundancy (e.g., one for SPF computation and another for | for redundancy (e.g., one for the SPF computation and another for | |||
| backup). Functions such as Optimized Route Reflection (ORR) are | backup). Functions such as Optimized Route Reflection (ORR) are | |||
| supported without extension by virture of the primary advantages. | supported without extension by virtue of the primary advantages. | |||
| Additionally, a controller could inject topology that is learned | Additionally, a controller could inject topology that is learned | |||
| outside the BGP routing domain. | outside the BGP routing domain. | |||
| Given that controllers are already consuming BGP-LS NLRI [RFC7752], | Given that controllers are already consuming BGP-LS NLRI [RFC7752], | |||
| reusing for the BGP-LS SPF leverages the existing controller | reusing for the BGP-LS SPF leverages the existing controller | |||
| implementations. | implementations. | |||
| Another potential advantage of BGP SPF is that both IPv6 and IPv4 can | Another potential advantage of BGP SPF is that both IPv6 and IPv4 can | |||
| be supported in the same address family using the same topology. | be supported in the same address family using the same topology. | |||
| Although not described in this version of the document, multi- | Although not described in this version of the document, multi- | |||
| skipping to change at page 5, line 19 ¶ | skipping to change at page 5, line 19 ¶ | |||
| unicast, and multicast topologies while sharing the same NLRI. | unicast, and multicast topologies while sharing the same NLRI. | |||
| Finally, the BGP SPF topology can be used as an underlay for other | Finally, the BGP SPF topology can be used as an underlay for other | |||
| BGP address families (using the existing model) and realize all the | BGP address families (using the existing model) and realize all the | |||
| above advantages. A simplified peering model using IPv6 link-local | above advantages. A simplified peering model using IPv6 link-local | |||
| addresses as next-hops can be deployed similar to [RFC5549]. | addresses as next-hops can be deployed similar to [RFC5549]. | |||
| 1.2. Requirements Language | 1.2. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 2. BGP Peering Models | 2. BGP Peering Models | |||
| Depending on the requirements, scaling, and capabilities of the BGP | Depending on the requirements, scaling, and capabilities of the BGP | |||
| speakers, various peering models are supported. The only requirement | speakers, various peering models are supported. The only requirement | |||
| is that all BGP speakers in the BGP SPF routing domain receive link- | is that all BGP speakers in the BGP SPF routing domain receive link- | |||
| state NLRI on a timely basis, run an SPF calculation, and update | state NLRI on a timely basis, run an SPF calculation, and update | |||
| their data plane appropriately. The content of the Link NLRI is | their data plane appropriately. The content of the Link NLRI is | |||
| described in Section 4.2. | described in Section 4.2. | |||
| 2.1. BGP Single-Hop Peering on Network Node Connections | 2.1. BGP Single-Hop Peering on Network Node Connections | |||
| The simplest peering model is the one described in section 5.2.1 of | The simplest peering model is the one described in section 5.2.1 of | |||
| [RFC7938]. In this model, EBGP single-hop sessions are established | [RFC7938]. In this model, EBGP single-hop sessions are established | |||
| over direct point-to-point links interconnecting the network nodes. | over direct point-to-point links interconnecting the SPF domain | |||
| For the purposes of BGP SPF, Link NLRI is only advertised if a | nodes. For the purposes of BGP SPF, Link NLRI is only advertised if | |||
| single-hop BGP session has been established and the Link-State/SPF | a single-hop BGP session has been established and the Link-State/SPF | |||
| adddress family capability has been exchanged [RFC4790] on the | address family capability has been exchanged [RFC4790] on the | |||
| corresponding session. If the session goes down, the NLRI will be | corresponding session. If the session goes down, the corresponding | |||
| withdrawn. | Link NLRI will be withdrawn. | |||
| 2.2. BGP Peering Between Directly Connected Network Nodes | 2.2. BGP Peering Between Directly Connected Network Nodes | |||
| In this model, BGP speakers peer with all directly connected network | In this model, BGP speakers peer with all directly connected network | |||
| nodes but the sessions may be multi-hop and the direct connection | nodes but the sessions may be multi-hop and the direct connection | |||
| discovery and liveliness detection for those connections are | discovery and liveliness detection for those connections are | |||
| independent of the BGP protocol. How this is accomplished is outside | independent of the BGP protocol. How this is accomplished is outside | |||
| the scope of this document. Consequently, there will be a single | the scope of this document. Consequently, there will be a single | |||
| session even if there are multiple direct connections between BGP | session even if there are multiple direct connections between BGP | |||
| speakers. For the purposes of BGP SPF, Link NLRI is advertised as | speakers. For the purposes of BGP SPF, Link NLRI is advertised as | |||
| long as a BGP session has been established, the Link-State/SPF | long as a BGP session has been established, the Link-State/SPF | |||
| address family capability has been exchanged [RFC4790] and the | address family capability has been exchanged [RFC4790] and the | |||
| corresponding link is up and considered operational. | corresponding link is considered is up and considered operational. | |||
| 2.3. BGP Peering in Route-Reflector or Controller Topology | 2.3. BGP Peering in Route-Reflector or Controller Topology | |||
| In this model, BGP speakers peer solely with one or more Route | In this model, BGP speakers peer solely with one or more Route | |||
| Reflectors [RFC4456] or controllers. As in the previous model, | Reflectors [RFC4456] or controllers. As in the previous model, | |||
| direct connection discovery and liveliness detection for those | direct connection discovery and liveliness detection for those | |||
| connections are done outside the BGP protocol. More specifically, | connections are done outside the BGP protocol. More specifically, | |||
| the Liveliness detection is done using BFD protocol described in | the Liveliness detection is done using BFD protocol described in | |||
| [RFC5880]. For the purposes of BGP SPF, Link NLRI is advertised as | [RFC5880]. For the purposes of BGP SPF, Link NLRI is advertised as | |||
| long as the corresponding link is up and considered operational. | long as the corresponding link is up and considered operational. | |||
| 3. BGP-LS Shortest Path Routing (SPF) SAFI | 3. BGP-LS Shortest Path Routing (SPF) SAFI | |||
| In order to replace the Phase 1 and 2 decision functions of the | In order to replace the Phase 1 and 2 decision functions of the | |||
| existing Decision Process with an SPF-based Decision Process and | existing Decision Process with an SPF-based Decision Process and | |||
| streamline the Phase 3 decision functions in a backward compatible | streamline the Phase 3 decision functions in a backward compatible | |||
| manner, this draft introduces a couple AFI/SAFIs for BGP LS SPF | manner, this draft introduces the BGP-LS-SFP SAFI for BGP-LS SPF | |||
| operation. The BGP-LS-SPF (AF 16388 / SAFI TBD1) and BGP-LS-SPF-VPN | operation. The BGP-LS-SPF (AF 16388 / SAFI TBD1) [RFC4790] is | |||
| (AFI 16388 / SAFI TBD2) [RFC4790] are allocated by IANA as specified | allocated by IANA as specified in the Section 6. A BGP speaker using | |||
| in the Section 6. A BGP speaker wanting to run BGP LS SPF operation | the BGP-LS SPF extensions described herein MUST exchange the AFI/SAFI | |||
| must exchange the AFI/SAFI using Multiprotocol Extensions Capabilty | using Multiprotocol Extensions Capability Code [RFC4760] with other | |||
| Code, as defined in [RFC4760]. | BGP speakers in the SPF routing domain. | |||
| 4. Extensions to BGP-LS | 4. Extensions to BGP-LS | |||
| [RFC7752] describes a mechanism by which link-state and TE | [RFC7752] describes a mechanism by which link-state and TE | |||
| information can be collected from networks and shared with external | information can be collected from networks and shared with external | |||
| components using BGP protocol. It contains two parts: definition of | components using BGP protocol. It describes both the definition of | |||
| a new BGP NLRI that describes links, nodes, and prefixes comprising | BGP-LS NLRI that describes links, nodes, and prefixes comprising IGP | |||
| IGP link-state information and definition of a new BGP path attribute | link-state information and the definition of a BGP path attribute | |||
| (BGP-LS attribute) that carries link, node, and prefix properties and | (BGP-LS attribute) that carries link, node, and prefix properties and | |||
| attributes, such as the link and prefix metric or auxiliary Router- | attributes, such as the link and prefix metric or auxiliary Router- | |||
| IDs of nodes, etc. | IDs of nodes, etc. | |||
| The BGP protocol will be used in the Protocol-ID field specified in | The BGP protocol will be used in the Protocol-ID field specified in | |||
| table 1 of [I-D.ietf-idr-bgpls-segment-routing-epe]. The local and | table 1 of [I-D.ietf-idr-bgpls-segment-routing-epe]. The local and | |||
| remote node descriptors for all NLRI will be the BGP Router-ID (TLV | remote node descriptors for all NLRI will be the BGP Router-ID (TLV | |||
| 516) and either the AS Number (TLV 512) [RFC7752] or the BGP | 516) and either the AS Number (TLV 512) [RFC7752] or the BGP | |||
| Confederation Member (TLV 517) | Confederation Member (TLV 517) | |||
| [I-D.ietf-idr-bgpls-segment-routing-epe]. However, if the BGP | [I-D.ietf-idr-bgpls-segment-routing-epe]. However, if the BGP | |||
| Router-ID is known to be unique within the BGP Routing domain, it can | Router-ID is known to be unique within the BGP Routing domain, it can | |||
| be used as the sole descriptor. | be used as the sole descriptor. | |||
| 4.1. Node NLRI Usage and Modifications | 4.1. Node NLRI Usage and Modifications | |||
| The SPF capability is a new Node Attribute TLV that will be added to | The SPF capability is a new Node Attribute TLV that will be added to | |||
| those defined in table 7 of [RFC7752]. The new attribute TLV will | those defined in table 7 of [RFC7752]. The new attribute TLV will | |||
| only be applicable when BGP is specified in the Node NLRI Protocol ID | only be applicable when BGP is specified in the Node NLRI Protocol ID | |||
| field. The TBD TLV type will be defined by IANA. The new Node | field. The TBD TLV type will be defined by IANA. The new Node | |||
| Attribute TLV will contain a single octet SPF algorithm field: | Attribute TLV will contain a single-octet SPF algorithm as defined in | |||
| [I-D.ietf-ospf-segment-routing-extensions]. | ||||
| 0 1 2 3 | 0 1 2 3 | |||
| 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SPF Algorithm | | | SPF Algorithm | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| The SPF Algorithm may take the following values: | The SPF Algorithm may take the following values: | |||
| 1 - Normal SPF | 0 - Normal Shortest Path First (SPF) algorithm based on link | |||
| 2 - Strict SPF | metric. This is the standard shortest path algorithm as | |||
| computed by the IGP protocol. Consistent with the deployed | ||||
| practice for link-state protocols, Algorithm 0 permits any | ||||
| node to overwrite the SPF path with a different path based on | ||||
| its local policy. | ||||
| 1 - Strict Shortest Path First (SPF) algorithm based on link | ||||
| metric. The algorithm is identical to Algorithm 0 but Algorithm | ||||
| 1 requires that all nodes along the path will honor the SPF | ||||
| routing decision. Local policy at the node claiming support for | ||||
| Algorithm 1 MUST NOT alter the SPF paths computed by Algorithm 1. | ||||
| When computing the SPF for a given BGP routing domain, only BGP nodes | When computing the SPF for a given BGP routing domain, only BGP nodes | |||
| advertising the SPF capability attribute will be included the | advertising the SPF capability attribute will be included the | |||
| Shortest Path Tree (SPT). | Shortest Path Tree (SPT). | |||
| 4.2. Link NLRI Usage | 4.2. Link NLRI Usage | |||
| The criteria for advertisement of Link NLRI are discussed in | The criteria for advertisement of Link NLRI are discussed in | |||
| Section 2. | Section 2. | |||
| skipping to change at page 7, line 48 ¶ | skipping to change at page 8, line 10 ¶ | |||
| remote IPv4 (TLV 260) addresses will be used. For IPv6 links, the | remote IPv4 (TLV 260) addresses will be used. For IPv6 links, the | |||
| local IPv6 (TLV 261) and remote IPv6 (TLV 262) addresses will be | local IPv6 (TLV 261) and remote IPv6 (TLV 262) addresses will be | |||
| used. For unnumbered links, the link local/remote identifiers (TLV | used. For unnumbered links, the link local/remote identifiers (TLV | |||
| 258) will be used. For links supporting having both IPv4 and IPv6 | 258) will be used. For links supporting having both IPv4 and IPv6 | |||
| addresses, both sets of descriptors may be included in the same Link | addresses, both sets of descriptors may be included in the same Link | |||
| NLRI. The link identifiers are described in table 5 of [RFC7752]. | NLRI. The link identifiers are described in table 5 of [RFC7752]. | |||
| The link IGP metric attribute TLV (TLV 1095) as well as any others | The link IGP metric attribute TLV (TLV 1095) as well as any others | |||
| required for non-SPF purposes SHOULD be advertised. Algorithms such | required for non-SPF purposes SHOULD be advertised. Algorithms such | |||
| as setting the metric inversely to the link speed as done in the OSPF | as setting the metric inversely to the link speed as done in the OSPF | |||
| MIB [RFC4750] may be supported. However, this is beyond the scope of | MIB [RFC4750] MAY be supported. However, this is beyond the scope of | |||
| this document. | this document. | |||
| 4.3. Prefix NLRI Usage | 4.3. Prefix NLRI Usage | |||
| Prefix NLRI is advertised with a local descriptor as described above | Prefix NLRI is advertised with a local node descriptor as described | |||
| and the prefix and length used as the descriptors (TLV 265) as | above and the prefix and length used as the descriptors (TLV 265) as | |||
| described in [RFC7752]. The prefix metric attribute TLV (TLV 1155) | described in [RFC7752]. The prefix metric attribute TLV (TLV 1155) | |||
| as well as any others required for non-SPF purposes SHOULD be | as well as any others required for non-SPF purposes SHOULD be | |||
| advertised. For loopback prefixes, the metric should be 0. For non- | advertised. For loopback prefixes, the metric should be 0. For non- | |||
| loopback, the setting of the metric is beyond the scope of this | loopback prefixes, the setting of the metric is a local matter and | |||
| document. | beyond the scope of this document. | |||
| 4.4. BGP-LS Attribute Sequence-Number TLV | 4.4. BGP-LS Attribute Sequence-Number TLV | |||
| A new BGP-LS Attribute TLV to BGP-LS NLRI types is defined to assure | A new BGP-LS Attribute TLV to BGP-LS NLRI types is defined to assure | |||
| the most recent version of a given NLRI is used in the SPF | the most recent version of a given NLRI is used in the SPF | |||
| computation. The TBD TLV type will be defined by IANA. The new BGP- | computation. The TBD TLV type will be defined by IANA. The new BGP- | |||
| LS Attribute TLV will contain an 8 octet sequence number. The usage | LS Attribute TLV will contain an 8-octet sequence number. The usage | |||
| of the Sequence Number TLV is described in Section 5.1. | of the Sequence Number TLV is described in Section 5.1. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sequence Number (High-Order 32 Bits) | | | Sequence Number (High-Order 32 Bits) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sequence Number (Low-Order 32 Bits) | | | Sequence Number (Low-Order 32 Bits) | | |||
| skipping to change at page 8, line 42 ¶ | skipping to change at page 8, line 50 ¶ | |||
| Sequence Number | Sequence Number | |||
| The 64-bit strictly increasing sequence number is incremented for | The 64-bit strictly increasing sequence number is incremented for | |||
| every version of BGP-LS NLRI originated. BGP speakers implementing | every version of BGP-LS NLRI originated. BGP speakers implementing | |||
| this specification MUST use available mechanisms to preserve the | this specification MUST use available mechanisms to preserve the | |||
| sequence number's strictly increasing property for the deployed life | sequence number's strictly increasing property for the deployed life | |||
| of the BGP speaker (including cold restarts). One mechanism for | of the BGP speaker (including cold restarts). One mechanism for | |||
| accomplishing this would be to use the high-order 32 bits of the | accomplishing this would be to use the high-order 32 bits of the | |||
| sequence number as a wrap/boot count that is incremented anytime the | sequence number as a wrap/boot count that is incremented anytime the | |||
| BGP Router router loses its sequence number state or the low-order 32 | BGP router loses its sequence number state or the low-order 32 bits | |||
| bits wrap. | wrap. | |||
| When incrementing the sequence number for each self-originated NLRI, | When incrementing the sequence number for each self-originated NLRI, | |||
| the sequence number should be treated as an unsigned 64-bit value. | the sequence number should be treated as an unsigned 64-bit value. | |||
| If the lower-order 32-bit value wraps, the higher-order 32-bit value | If the lower-order 32-bit value wraps, the higher-order 32-bit value | |||
| should be incremented and saved in non-volatile storage. If by some | should be incremented and saved in non-volatile storage. If by some | |||
| chance the BGP Speaker is deployed long enough that there is a | chance the BGP Speaker is deployed long enough that there is a | |||
| possibility that the 64-bit sequence number may wrap or a BGP Speaker | possibility that the 64-bit sequence number may wrap or a BGP Speaker | |||
| completely loses its sequence number state (e.g, the BGP speaker | completely loses its sequence number state (e.g., the BGP speaker | |||
| hardware is replaced), the phase 1 decision function (see | hardware is replaced or experiences a cold-start), the phase 1 | |||
| Section 5.1) rules should insure convergance, albeit, not | decision function (see Section 5.1) rules will insure convergence, | |||
| immediately. | albeit, not immediately. | |||
| 5. Decision Process with SPF Algorithm | 5. Decision Process with SPF Algorithm | |||
| The Decision Process described in [RFC4271] takes place in three | The Decision Process described in [RFC4271] takes place in three | |||
| distinct phases. The Phase 1 decision function of the Decision | distinct phases. The Phase 1 decision function of the Decision | |||
| Process is responsible for calculating the degree of preference for | Process is responsible for calculating the degree of preference for | |||
| each route received from a Speaker's peer. The Phase 2 decision | each route received from a BGP speaker's peer. The Phase 2 decision | |||
| function is invoked on completion of the Phase 1 decision function | function is invoked on completion of the Phase 1 decision function | |||
| and is responsible for choosing the best route out of all those | and is responsible for choosing the best route out of all those | |||
| available for each distinct destination, and for installing each | available for each distinct destination, and for installing each | |||
| chosen route into the Loc-RIB. The combination of the Phase 1 and 2 | chosen route into the Loc-RIB. The combination of the Phase 1 and 2 | |||
| decision functions is also known as a Path vector algorithm. | decision functions is characterized as a Path Vector algorithm. | |||
| The SPF based Decision process replaces the BGP Bestpath Decision | The SPF based Decision process replaces the BGP best-path Decision | |||
| process described in [RFC4271]. This process starts with selecting | process described in [RFC4271]. This process starts with selecting | |||
| only those Node NLRI whose SPF capability TLV matches with the local | only those Node NLRI whose SPF capability TLV matches with the local | |||
| BGP speaker's SPF capability TLV value. Since Link-State NLRI always | BGP speaker's SPF capability TLV value. Since Link-State NLRI always | |||
| contains the local descriptor [RFC7752], it will only be originated | contains the local descriptor [RFC7752], it will only be originated | |||
| by a single BGP speaker in the BGP routing domain. These selected | by a single BGP speaker in the BGP routing domain. These selected | |||
| Node NLRI and their Link/Prefix NLRI are used to build a directed | Node NLRI and their Link/Prefix NLRI are used to build a directed | |||
| graph during the SPF computation. The best paths for BGP prefixes | graph during the SPF computation. The best paths for BGP prefixes | |||
| are installed as a result of the SPF process. | are installed as a result of the SPF process. | |||
| When BGP-LS-SPF NLRI is received, all that is required is to | When BGP-LS-SPF NLRI is received, all that is required is to | |||
| determine whether it is the best-path by examining the Node-ID and | determine whether it is the best-path by examining the Node-ID and | |||
| sequence number as described in Section 5.1. If the received best- | sequence number as described in Section 5.1. If the received best- | |||
| path NLRI had changed, it will be advertised to other BGP-LS-SPF | path NLRI had changed, it will be advertised to other BGP-LS-SPF | |||
| peers. If the attributes have changed (other than the sequence | peers. If the attributes have changed (other than the sequence | |||
| number), a BGP SPF calculation will be scheduled. However, a changed | number), a BGP SPF calculation will be scheduled. However, a changed | |||
| best-path can be advertised to other peer immediately and propagation | NLRI MAY be advertised to other peers almost immediately and | |||
| of changes can approach IGP convergence times with appropriately | propagation of changes can approach IGP convergence times. To | |||
| tuned MinRouteAdvertisementIntervalTimer. | accomplish this, the MinRouteAdvertisementIntervalTimer and | |||
| MinRouteAdvertisementIntervalTimer [RFC4271] are not applicable to | ||||
| the BGP-LS-SPF SAFI. | ||||
| The Phase 3 decision function of the Decision Process [RFC4271] is | The Phase 3 decision function of the Decision Process [RFC4271] is | |||
| also simplified since under normal SPF operation, a BGP speaker would | also simplified since under normal SPF operation, a BGP speaker would | |||
| advertise the NLRI selected for the SPF to all BGP peers with the | advertise the NLRI selected for the SPF to all BGP peers with the | |||
| BGP-LS/BGP-SPF AFI/SAFI. Application of policy would not be | BGP-LS/BGP-LS-SPF AFI/SAFI. Application of policy would not be | |||
| prevented however its usage to bestpath process would be limited as | prevented however its usage to best-path process would be limited as | |||
| the SPF relies solely on link metrics. | the SPF relies solely on link metrics. | |||
| 5.1. Phase-1 BGP NLRI Selection | 5.1. Phase-1 BGP NLRI Selection | |||
| The rules for NLRI selection are greatly simplified from [RFC4271]. | The rules for NLRI selection are greatly simplified from [RFC4271]. | |||
| 1. If the NLRI is received from the BGP speaker originating the NLRI | 1. If the NLRI is received from the BGP speaker originating the NLRI | |||
| (as determined by the comparing BGP Router ID in the NLRI Node | (as determined by the comparing BGP Router ID in the NLRI Node | |||
| identifiers with the BGP speaker Router ID), then it is preferred | identifiers with the BGP speaker Router ID), then it is preferred | |||
| over the same NLRI from non-originators. | over the same NLRI from non-originators. This rule will assure | |||
| that stale NLRI is updated even if a BGP-LS router loses its | ||||
| sequence number state due to a cold-start. | ||||
| 2. If the Sequence-Number TLV is present in the BGP-LS Attribute, | 2. If the Sequence-Number TLV is present in the BGP-LS Attribute, | |||
| then the NLRI with the most recent, i.e., highest sequence number | then the NLRI with the most recent, i.e., highest sequence number | |||
| is selected. BGP-LS NLRI with a Sequence-Number TLV will be | is selected. BGP-LS NLRI with a Sequence-Number TLV will be | |||
| considered more recent than NLRI without a BGP-LS or a BGP-LS | considered more recent than NLRI without a BGP-LS Attribute or a | |||
| Attribute that doesn't include the Sequence-Number TLV. | BGP-LS Attribute that doesn't include the Sequence-Number TLV. | |||
| 3. The final tie-breaker is the NLRI from the BGP Speaker with the | 3. The final tie-breaker is the NLRI from the BGP Speaker with the | |||
| numerically largest BGP Router ID. | numerically largest BGP Router ID. | |||
| The modified Decision Process with SPF algorithm uses the metric from | The modified SPF Decision Process performs an SPF calculation rooted | |||
| Link and Prefix NLRI Attribute TLVs [RFC7752]. As a result, any | at the BGP speaker using the metrics from Link and Prefix NLRI | |||
| attributes that would influence the Decision process defined in | Attribute TLVs [RFC7752]. As a result, any attributes that would | |||
| [RFC4271] like ORIGIN, MULTI_EXIT_DISC, and LOCAL_PREF attributes are | influence the Decision process defined in [RFC4271] like ORIGIN, | |||
| ignored by the SPF algorithm. Furthermore, the NEXT_HOP attribute | MULTI_EXIT_DISC, and LOCAL_PREF attributes are ignored by the SPF | |||
| value is preserved but otherwise ignored during the SPF or best-path. | algorithm. Furthermore, the NEXT_HOP attribute value is preserved | |||
| but otherwise ignored during the SPF or best-path. | ||||
| 5.2. Dual Stack Support | 5.2. Dual Stack Support | |||
| The SPF based decision process operates on Node, Link, and Prefix | The SPF-based decision process operates on Node, Link, and Prefix | |||
| NLRIs that support both IPv4 and IPv6 addresses. Whether to run a | NLRIs that support both IPv4 and IPv6 addresses. Whether to run a | |||
| single SPF instance or multiple SPF instances for separate AFs is a | single SPF instance or multiple SPF instances for separate AFs is a | |||
| matter of a local implementation. Normally, IPv4 next-hops are | matter of a local implementation. Normally, IPv4 next-hops are | |||
| calculated for IPv4 prefixes and IPv6 next-hops are calculated for | calculated for IPv4 prefixes and IPv6 next-hops are calculated for | |||
| IPv6 prefixes. However, an interesting use-case is deployment of | IPv6 prefixes. However, an interesting use-case is deployment of | |||
| [RFC5549] where IPv6 link-local next-hops are calculated for both | [RFC5549] where IPv6 next-hops are calculated for both IPv4 and IPv6 | |||
| IPv4 and IPv6 prefixes. As stated in Section 1, support for Multiple | prefixes. As stated in Section 1, support for Multiple Topology | |||
| Topology Routing (MTR) is an area for future study. | Routing (MTR) is an area for future study. | |||
| 5.3. NEXT_HOP Manipulation | 5.3. NEXT_HOP Manipulation | |||
| A BGP speaker that supports SPF extensions MAY interact with peers | A BGP speaker that supports SPF extensions MAY interact with peers | |||
| that don't support SPF extensions. If the BGP Link-State address | that don't support SPF extensions. If the BGP-LS address family is | |||
| family is advertised to a peer not supporting the SPF extensions | advertised to a peer not supporting the SPF extensions described | |||
| described herein, then the BGP speaker MUST conform to the NEXT_HOP | herein, then the BGP speaker MUST conform to the NEXT_HOP rules | |||
| rules mentioned in [RFC4271] when announcing the Link-State address | specified in [RFC4271] when announcing the Link-State address family | |||
| family routes to those peers. | routes to those peers. | |||
| All BGP peers that support SPF extensions would locally compute the | All BGP peers that support SPF extensions would locally compute the | |||
| NEXT_HOP values as result of the SPF process. As a result, the | Loc-RIB next-hops as a result of the SPF process. Consequently, the | |||
| NEXT_HOP attribute is always ignored on receipt. However BGP | NEXT_HOP attribute is always ignored on receipt. However, BGP | |||
| speakers should set the NEXT_HOP address according to the NEXT_HOP | speakers SHOULD set the NEXT_HOP address according to the NEXT_HOP | |||
| attribute rules mentioned in [RFC4271]. | attribute rules specified in [RFC4271]. | |||
| 5.4. IPv4/IPv6 Unicast Address Family Interaction | 5.4. IPv4/IPv6 Unicast Address Family Interaction | |||
| While the BGP-LS SPF address family and the IPv4/IPv6 unicast address | While the BGP-LS SPF address family and the IPv4/IPv6 unicast address | |||
| families install routes into the same device routing tables, they | families install routes into the same device routing tables, they | |||
| will operate independently much the same as OSPF and IS-IS would | will operate independently much the same as OSPF and IS-IS would | |||
| operate today (i.e., "Ships-in-the-Night" mode). There will be no | operate today (i.e., "Ships-in-the-Night" mode). There will be no | |||
| implicit route redistribution between the BGP address families. | implicit route redistribution between the BGP address families. | |||
| However, implementation specific redistribution mechanisms SHOULD be | However, implementation specific redistribution mechanisms SHOULD be | |||
| made available with the restriction that redistribution of BGP-LS SPF | made available with the restriction that redistribution of BGP-LS SPF | |||
| skipping to change at page 11, line 30 ¶ | skipping to change at page 11, line 45 ¶ | |||
| SPF tree and install the same set of routers, it is RECOMMENDED that | SPF tree and install the same set of routers, it is RECOMMENDED that | |||
| BGP-LS SPF IPv4/IPv6 routes be given priority by default when | BGP-LS SPF IPv4/IPv6 routes be given priority by default when | |||
| installed into their respective RIBs. In common implementations the | installed into their respective RIBs. In common implementations the | |||
| prioritization is governed by route preference or administrative | prioritization is governed by route preference or administrative | |||
| distance with lower being more preferred. | distance with lower being more preferred. | |||
| 5.5. NLRI Advertisement and Convergence | 5.5. NLRI Advertisement and Convergence | |||
| A local failure will prevent a link from being used in the SPF | A local failure will prevent a link from being used in the SPF | |||
| calculation due to the IGP bi-directional connectivity requirement. | calculation due to the IGP bi-directional connectivity requirement. | |||
| Consequently, local link failues should always be given priority over | Consequently, local link failures should always be given priority | |||
| updates (e.g., withdrawing all routes learned on a session) in order | over updates (e.g., withdrawing all routes learned on a session) in | |||
| to ensure the highest priority progation and optimal convergence. | order to ensure the highest priority propagation and optimal | |||
| convergence. | ||||
| Delaying the withdrawal of non-local routes is an area for further | Delaying the withdrawal of non-local routes is an area for further | |||
| study as more IGP-like mechanisms would be required to prevent usage | study as more IGP-like mechanisms would be required to prevent usage | |||
| of stale NLRI. | of stale NLRI. | |||
| 5.6. Error Handling | 5.6. Error Handling | |||
| When a BGP speaker receives a BGP Update containing a malformed SPF | When a BGP speaker receives a BGP Update containing a malformed SPF | |||
| Capability TLV in the Node NLRI BGP-LS Attribute [RFC7752], it MUST | Capability TLV in the Node NLRI BGP-LS Attribute [RFC7752], it MUST | |||
| ignore the received TLV and the Node NLRI and not pass it to other | ignore the received TLV and the Node NLRI and not pass it to other | |||
| BGP peers as specified in [RFC7606]. When discarding a Node NLRI | BGP peers as specified in [RFC7606]. When discarding a Node NLRI | |||
| with malformed TLV, a BGP speaker SHOULD log an error for further | with malformed TLV, a BGP speaker SHOULD log an error for further | |||
| analysis. | analysis. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| This document defines a couple AFI/SAFIs for BGP LS SPF operation and | This document defines an AFI/SAFI for BGP-LS SPF operation and | |||
| requests IANA to assign the BGP-LS-SPF AFI 16388 / SAFI TBD1 and the | requests IANA to assign the BGP-LS/BGP-LS-SPF (AFI 16388 / SAFI TBD1) | |||
| BGP-LS-SPF-VPN AFI 16388 / SAFI TBD2 as described in [RFC4750]. | as described in [RFC4750]. | |||
| This document also defines two attribute TLV for BGP LS NLRI. We | This document also defines two attribute TLV for BGP LS NLRI. We | |||
| request IANA to assign TLVs for the SPF capability and the Sequence | request IANA to assign TLVs for the SPF capability and the Sequence | |||
| Number from the "BGP-LS Node Descriptor, Link Descriptor, Prefix | Number from the "BGP-LS Node Descriptor, Link Descriptor, Prefix | |||
| Descriptor, and Attribute TLVs" Registry. Additionally, IANA is | Descriptor, and Attribute TLVs" Registry. | |||
| requested to create a new registry for "BGP-LS SPF Capability | ||||
| Algorithms" for the value of the algorithm both in the BGP-LS Node | ||||
| Attribute TLV and the BGP SPF Capability. The initial assignments | ||||
| are: | ||||
| +-------------+-----------------------------------+ | ||||
| | Value(s) | Assignment Policy | | ||||
| +-------------+-----------------------------------+ | ||||
| | 0 | Reserved (not to be assigned) | | ||||
| | | | | ||||
| | 1 | SPF | | ||||
| | | | | ||||
| | 2 | Strict SPF | | ||||
| | | | | ||||
| | 3-254 | Unassigned (IETF Review) | | ||||
| | | | | ||||
| | 255 | Reserved (not to be assigned) | | ||||
| +-------------+-----------------------------------+ | ||||
| BGP-LS SPF Capability Algorithms | ||||
| 7. Security Considerations | 7. Security Considerations | |||
| This extension to BGP does not change the underlying security issues | This extension to BGP does not change the underlying security issues | |||
| inherent in the existing [RFC4724] and [RFC4271]. | inherent in the existing [RFC4724] and [RFC4271]. | |||
| 7.1. Acknowledgements | 7.1. Acknowledgements | |||
| The authors would like to thank .... for the review and comments. | The authors would like to thank Sue Hares, Jorge Rabadan, and Boris | |||
| Hassanov for the review and comments. | ||||
| 7.2. Contributors | 7.2. Contributors | |||
| In addition to the authors listed on the front page, the following | In addition to the authors listed on the front page, the following | |||
| co-authors have contributed to the document. | co-authors have contributed to the document. | |||
| Derek Yeung | Derek Yeung | |||
| Arrcus, Inc. | Arrcus, Inc. | |||
| derek@arrcus.com | derek@arrcus.com | |||
| skipping to change at page 13, line 31 ¶ | skipping to change at page 13, line 31 ¶ | |||
| 8. References | 8. References | |||
| 8.1. Normative References | 8.1. Normative References | |||
| [I-D.ietf-idr-bgpls-segment-routing-epe] | [I-D.ietf-idr-bgpls-segment-routing-epe] | |||
| Previdi, S., Filsfils, C., Patel, K., Ray, S., and J. | Previdi, S., Filsfils, C., Patel, K., Ray, S., and J. | |||
| Dong, "BGP-LS extensions for Segment Routing BGP Egress | Dong, "BGP-LS extensions for Segment Routing BGP Egress | |||
| Peer Engineering", draft-ietf-idr-bgpls-segment-routing- | Peer Engineering", draft-ietf-idr-bgpls-segment-routing- | |||
| epe-14 (work in progress), December 2017. | epe-14 (work in progress), December 2017. | |||
| [I-D.ietf-ospf-segment-routing-extensions] | ||||
| Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | ||||
| Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | ||||
| Extensions for Segment Routing", draft-ietf-ospf-segment- | ||||
| routing-extensions-25 (work in progress), April 2018. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | |||
| editor.org/info/rfc2119>. | editor.org/info/rfc2119>. | |||
| [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
| Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
| DOI 10.17487/RFC4271, January 2006, <https://www.rfc- | DOI 10.17487/RFC4271, January 2006, <https://www.rfc- | |||
| editor.org/info/rfc4271>. | editor.org/info/rfc4271>. | |||
| skipping to change at page 14, line 10 ¶ | skipping to change at page 14, line 16 ¶ | |||
| S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
| Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
| DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | |||
| editor.org/info/rfc7752>. | editor.org/info/rfc7752>. | |||
| [RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of | [RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of | |||
| BGP for Routing in Large-Scale Data Centers", RFC 7938, | BGP for Routing in Large-Scale Data Centers", RFC 7938, | |||
| DOI 10.17487/RFC7938, August 2016, <https://www.rfc- | DOI 10.17487/RFC7938, August 2016, <https://www.rfc- | |||
| editor.org/info/rfc7938>. | editor.org/info/rfc7938>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
| 8.2. Information References | 8.2. Information References | |||
| [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | |||
| DOI 10.17487/RFC2328, April 1998, <https://www.rfc- | DOI 10.17487/RFC2328, April 1998, <https://www.rfc- | |||
| editor.org/info/rfc2328>. | editor.org/info/rfc2328>. | |||
| [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route | [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route | |||
| Reflection: An Alternative to Full Mesh Internal BGP | Reflection: An Alternative to Full Mesh Internal BGP | |||
| (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, | (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, | |||
| <https://www.rfc-editor.org/info/rfc4456>. | <https://www.rfc-editor.org/info/rfc4456>. | |||
| End of changes. 46 change blocks. | ||||
| 115 lines changed or deleted | 124 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||