draft-ietf-lsvr-bgp-spf-01.txt   draft-ietf-lsvr-bgp-spf-02.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 2, 2018 Cisco Systems Expires: February 7, 2019 Cisco Systems
S. Zandi S. Zandi
Linkedin Linkedin
W. Henderickx W. Henderickx
Nokia Nokia
May 31, 2018 August 6, 2018
Shortest Path Routing Extensions for BGP Protocol Shortest Path Routing Extensions for BGP Protocol
draft-ietf-lsvr-bgp-spf-01.txt draft-ietf-lsvr-bgp-spf-02.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 (SPF) algorithm similar to Internal Gateway the Shortest Path First (SPF) algorithm similar to Internal Gateway
skipping to change at page 1, line 42 skipping to change at page 1, line 42
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 2, 2018. This Internet-Draft will expire on February 7, 2019.
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 40 skipping to change at page 2, line 40
1.1. BGP Shortest Path First (SPF) Motivation . . . . . . . . 4 1.1. BGP Shortest Path First (SPF) Motivation . . . . . . . . 4
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 5 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. BGP Peering Models . . . . . . . . . . . . . . . . . . . . . 5 2. BGP Peering Models . . . . . . . . . . . . . . . . . . . . . 5
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.2.1. BGP-LS Link NLRI Attribute Prefix-Length TLVs . . . . 8
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 . . . . . . . . . . . . . . . 10 5.1. Phase-1 BGP NLRI Selection . . . . . . . . . . . . . . . 10
5.2. Dual Stack Support . . . . . . . . . . . . . . . . . . . 10 5.2. Dual Stack Support . . . . . . . . . . . . . . . . . . . 11
5.3. NEXT_HOP Manipulation . . . . . . . . . . . . . . . . . . 11 5.3. SPF Calculation based on BGP-LS NLRI . . . . . . . . . . 11
5.4. IPv4/IPv6 Unicast Address Family Interaction . . . . . . 11 5.4. NEXT_HOP Manipulation . . . . . . . . . . . . . . . . . . 13
5.5. NLRI Advertisement and Convergence . . . . . . . . . . . 11 5.5. IPv4/IPv6 Unicast Address Family Interaction . . . . . . 14
5.6. Error Handling . . . . . . . . . . . . . . . . . . . . . 12 5.6. NLRI Advertisement and Convergence . . . . . . . . . . . 14
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 5.7. Error Handling . . . . . . . . . . . . . . . . . . . . . 14
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
7.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15
7.2. Contributors . . . . . . . . . . . . . . . . . . . . . . 12 7.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . 15
7.2. Contributors . . . . . . . . . . . . . . . . . . . . . . 15
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.1. Normative References . . . . . . . . . . . . . . . . . . 13 8.1. Normative References . . . . . . . . . . . . . . . . . . 16
8.2. Information References . . . . . . . . . . . . . . . . . 14 8.2. Information References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
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 [RFC4271] as their single routing protocol for both their fabric BGP [RFC4271] as their single routing protocol for both their fabric
routing and their Data Center Interconnect (DCI) routing. routing and their Data Center Interconnect (DCI) routing.
Requirements and procedures for using BGP are described in [RFC7938]. Requirements and procedures for using BGP are described in [RFC7938].
This document describes an alternative solution which leverages BGP- This document describes an alternative solution which leverages BGP-
skipping to change at page 6, line 45 skipping to change at page 6, line 49
BGP-LS NLRI that describes links, nodes, and prefixes comprising IGP BGP-LS NLRI that describes links, nodes, and prefixes comprising IGP
link-state information and the definition of a 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) [RFC8402]. 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 as defined in Attribute TLV will contain a single-octet SPF algorithm as defined in
[I-D.ietf-ospf-segment-routing-extensions]. [RFC8402].
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:
skipping to change at page 7, line 36 skipping to change at page 7, line 36
computed by the IGP protocol. Consistent with the deployed computed by the IGP protocol. Consistent with the deployed
practice for link-state protocols, Algorithm 0 permits any practice for link-state protocols, Algorithm 0 permits any
node to overwrite the SPF path with a different path based on node to overwrite the SPF path with a different path based on
its local policy. its local policy.
1 - Strict Shortest Path First (SPF) algorithm based on link 1 - Strict Shortest Path First (SPF) algorithm based on link
metric. The algorithm is identical to Algorithm 0 but Algorithm metric. The algorithm is identical to Algorithm 0 but Algorithm
1 requires that all nodes along the path will honor the SPF 1 requires that all nodes along the path will honor the SPF
routing decision. Local policy at the node claiming support for routing decision. Local policy at the node claiming support for
Algorithm 1 MUST NOT alter the SPF paths computed by Algorithm 1. Algorithm 1 MUST NOT alter the SPF paths computed by Algorithm 1.
Note that usage of Strict Shortest Path First (SPF) algorithm is
defined in the IGP algorithm registry but usage is restricted to
[I-D.ietf-idr-bgpls-segment-routing-epe]. Hence, its usage for BGP-
LS SPF is out of scope.
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.
Link NLRI is advertised with local and remote node descriptors as Link NLRI is advertised with local and remote node descriptors as
skipping to change at page 8, line 13 skipping to change at page 8, line 17
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.2.1. BGP-LS Link NLRI Attribute Prefix-Length TLVs
Two BGP-LS Attribute TLVs to BGP-LS Link NLRI are defined to
advertise the prefix length associated with the IPv4 and IPv6 link
prefixes. The prefix length is used for the optional installation of
prefixes corresponding to Link NLRI as defined in Section 5.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TBD IPv4 or IPv6 Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix-Length |
+-+-+-+-+-+-+-+-+
Prefix-length - A one-octet length restricted to 1-32 for IPv4
Link NLIR endpoint prefixes and 1-128 for IPv6
Link NLRI endpoint prefixes.
4.3. Prefix NLRI Usage 4.3. Prefix NLRI Usage
Prefix NLRI is advertised with a local node descriptor as described Prefix NLRI is advertised with a local node descriptor as described
above 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 prefixes, the setting of the metric is a local matter and loopback prefixes, the setting of the metric is a local matter and
beyond the scope of this document. beyond the scope of this document.
skipping to change at page 11, line 5 skipping to change at page 11, line 25
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 next-hops are calculated for both IPv4 and IPv6 [RFC5549] where IPv6 next-hops are calculated for both IPv4 and IPv6
prefixes. As stated in Section 1, support for Multiple Topology prefixes. As stated in Section 1, support for Multiple Topology
Routing (MTR) is an area for future study. Routing (MTR) is an area for future study.
5.3. NEXT_HOP Manipulation 5.3. SPF Calculation based on BGP-LS NLRI
This section details the BGP-LS SPF local routing information base
(RIB) calculation. The router will use BGP-LS Node, Link, and Prefix
NLRI to populate the local RIB using the following algorithm. This
calculation yields the set of intra-area routes associated with the
BGP-LS domain. A router calculates the shortest-path tree using
itself as the root. Variations and optimizations of the algorithm
are valid as long as it yields the same set of routes. The algorithm
below supports Equal Cost Multi-Path (ECMP) routes. Weighted Unequal
Cost Multi-Path are out of scope. The organization of this section
owes heavily to section 16 of [RFC2328].
The following abstract data structures are defined in order to
specify the algorithm.
o Local Route Information Base (RIB) - This is abstract contains
reachability information (i.e., next hops) for all prefixes (both
IPv4 and IPv6) as well as the Node NLRI reachability.
Implementations may choose to implement this as separate RIBs for
each address family and/or Node NLRI.
o Link State NLRI Database (LSNDB) - Database of BGP-LS NLRI that
facilitates access to all Node, Link, and Prefix NLRI as well as
all the Link and Prefix NLRI corresponding to a given Node NLRI.
Other optimization, such as, resolving bi-directional connectivity
associations between Link NLRI are possible but of scope of this
document.
o Candidate List - This is a list of candidate Node NLRI with the
lowest cost Node NLRI at the front of the list. It is typically
implemented as a heap but other concrete data structures have also
been used.
The algorithm is comprised of the steps below:
1. The current local RIB is invalidated. The local RIB is built
again from scratch. The existing routing entries are preserved
for comparision to determine changes that need to be installed in
the global RIB.
2. The computing router's Node NLRI is installed in the local RIB
with a cost of 0 and as as the sole entry in the candidate list.
3. The Node NLRI with the lowest cost is removed from the candidate
list for processing. The Node corresponding to this NLRI will be
referred to as the Current Node. If the candidate list is empty,
the SPF calculation has completed and the algorithm proceeds to
step 6.
4. All the Prefix NLRI with the same Node Identifiers as the Current
Node will be considered for installation. The cost for each
prefix is the metric advertised in the Prefix NLRI added to the
cost to reach the Current Node.
* If the prefix is not in the local RIB, the prefix is installed
and will inherit the Current Node's next hops.
* If the prefix is in the local RIB and the cost is greater than
the Current route's metric, the Prefix NLRI does not
contribute to the route and is ignored.
* If the prefix is in the local RIB and the cost is less than
the current route's metric, the Prefix is installed with the
Current Node's next-hops replacing the local RIB route's next-
hops and the metric being updated.
* If the prefix is in the local RIB and the cost is same as the
current route's metric, the Prefix is installed with the
Current Node's next-hops being merged with local RIB route's
next-hops.
5. All the Link NLRI with the same Node Identifiers as the Current
Node will be considered for installation. Each link will be
examined and will be referred to in the following text as the
Current Link. The cost of the Current Link is the advertised
metric in the Link NLRI added to the cost to reach the Current
Node.
* Optionally, the prefix(es) associated with the Current Link
are installed into the local RIB using the same rules as were
used for Prefix NLRI in the previous steps.
* The Current Link's endpoint Node NLRI is accessed (i.e., the
Node NLRI with the same Node identifiers as the Link
endpoint). If it exists, it will be referred to as the
Endpoint Node NLRI and the algorithm will proceed as follows:
+ All the Link NLRI corresponding the Endpoint Node NLRI will
be searched for a back-link NLRI pointing to the current
node. Both the Node identifiers and the Link endpoint
identifiers in the Endpoint Node's Link NLRI must match for
a match. If there is no corresponding Link NLRI
corresponding to the Endpoint Node NLRI, the Endpoint Node
NLIR fails the bi-directional connectivity test and is not
processed further.
+ If the Endpoint Node NLRI is not on the candidate list, it
is inserted based on the link cost and BGP Identifier (the
latter being used as a tie-breaker).
+ If the Endpoint Node NLRI is already on the candidate list
with a lower cost, it need not be inserted again.
+ If the Endpoint Node NLRI is already on the candidate list
with a higher cost, it must be removed and reinserted with
a lower cost.
* Return to step 3 to process the next lowest cost Node NLRI on
the candidate list.
6. The local RIB is examined and changes (adds, deletes,
modifications) are installed into the global RIB.
5.4. 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-LS address family is that don't support SPF extensions. If the BGP-LS address family is
advertised to a peer not supporting the SPF extensions described advertised to a peer not supporting the SPF extensions described
herein, then the BGP speaker MUST conform to the NEXT_HOP rules herein, then the BGP speaker MUST conform to the NEXT_HOP rules
specified in [RFC4271] when announcing the Link-State address family specified in [RFC4271] when announcing the Link-State address 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
Loc-RIB next-hops as a result of the SPF process. Consequently, 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 specified in [RFC4271]. attribute rules specified in [RFC4271].
5.4. IPv4/IPv6 Unicast Address Family Interaction 5.5. 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
routes into the IPv4 address family applies only to IPv4 routes and routes into the IPv4 address family applies only to IPv4 routes and
redistribution of BGP-LS SPF route into the IPv6 address family redistribution of BGP-LS SPF route into the IPv6 address family
applies only to IPv6 routes. applies only to IPv6 routes.
Given the fact that SPF algorithms are based on the assumption that Given the fact that SPF algorithms are based on the assumption that
all routers in the routing domain calculate the precisely the same all routers in the routing domain calculate the precisely the same
SPF tree and install the same set of routers, it is RECOMMENDED that SPF tree and install the same set of routes, 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.6. 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 failures should always be given priority Consequently, local link failures should always be given priority
over updates (e.g., withdrawing all routes learned on a session) in over updates (e.g., withdrawing all routes learned on a session) in
order to ensure the highest priority propagation and optimal order to ensure the highest priority propagation and optimal
convergence. 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.7. 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 an AFI/SAFI 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/BGP-LS-SPF (AFI 16388 / SAFI TBD1) requests IANA to assign the BGP-LS/BGP-LS-SPF (AFI 16388 / SAFI TBD1)
as described in [RFC4750]. as described in [RFC4750].
This document also defines two attribute TLV for BGP LS NLRI. We This document also defines four attribute TLVs 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, Sequence Number,
Number from the "BGP-LS Node Descriptor, Link Descriptor, Prefix IPv4 Link Prefix-Length, and IPv6 Link Prefix-Length from the "BGP-LS
Descriptor, and Attribute TLVs" Registry. Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute
TLVs" Registry.
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 Sue Hares, Jorge Rabadan, and Boris The authors would like to thank Sue Hares, Jorge Rabadan, Boris
Hassanov for the review and comments. Hassanov, and Fred Baker for their 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 22 skipping to change at page 16, line 4
Abhay Roy Abhay Roy
Cisco Systems Cisco Systems
akr@cisco.com akr@cisco.com
Venu Venugopal Venu Venugopal
Cisco Systems Cisco Systems
venuv@cisco.com venuv@cisco.com
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 20 skipping to change at page 16, line 42
[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 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
July 2018, <https://www.rfc-editor.org/info/rfc8402>.
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. 20 change blocks. 
39 lines changed or deleted 176 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/