Network Working Group                                           K. Patel
Internet-Draft                                              Arrcus, Inc.
Intended status: Standards Track                               A. Lindem
Expires: February 4, July 30, 2021                                     Cisco Systems
                                                                S. Zandi
                                                                LinkedIn
                                                           W. Henderickx
                                                                   Nokia
                                                          August 3, 2020
                                                        January 26, 2021

            BGP Link-State Shortest Path First (SPF) Routing Extensions for BGP Protocol
                       draft-ietf-lsvr-bgp-spf-11
                       draft-ietf-lsvr-bgp-spf-12

Abstract

   Many Massively Scaled Data Centers (MSDCs) have converged on
   simplified layer 3 routing.  Furthermore, requirements for
   operational simplicity have led many of these MSDCs to converge on
   BGP as their single routing protocol for both their fabric routing
   and their Data Center Interconnect (DCI) routing.  This document
   describes a solution which leverages extensions to BGP to use BGP Link-State distribution and
   the Shortest Path First (SPF) algorithm similar to used by Internal Gateway
   Protocols (IGPs) such as OSPF.  In doing this, it allows BGP to be
   efficiently used as both the underlay protocol and the overlay
   protocol in MSDCs.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on February 4, July 30, 2021.

Copyright Notice

   Copyright (c) 2020 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  BGP Shortest Path First (SPF) Motivation  Terminology . . . . . . . .   4
     1.2.  Requirements Language . . . . . . . . . . . . . . . . . .   5
   2.   4
     1.2.  BGP Peering Models Shortest Path First (SPF) Motivation  . . . . . . . .   4
     1.3.  Document Overview . . . . . . . . . . . . .   5
     2.1.  BGP Single-Hop Peering on Network Node Connections . . .   5
     2.2.  BGP Peering Between Directly Connected Network Nodes . .   5
     2.3.  BGP Peering in Route-Reflector or Controller Topology . .   6
   3.  BGP-LS Shortest Path Routing (SPF) SAFI
     1.4.  Requirements Language . . . . . . . . . . .   6
   4.  Extensions to BGP-LS . . . . . . .   6
   2.  Base BGP Protocol Relationship  . . . . . . . . . . . . .   6
     4.1.  Node NLRI Usage . .   6
   3.  BGP Link-State (BGP-LS) Relationship  . . . . . . . . . . . .   7
   4.  BGP Peering Models  . . . . . . . .   7
       4.1.1.  Node NLRI Attribute SPF Capability TLV . . . . . . .   7
       4.1.2.  BGP-LS Node NLRI Attribute SPF Status TLV . . . . . .   8
     4.2.  Link NLRI Usage
     4.1.  BGP Single-Hop Peering on Network Node Connections  . . .   8
     4.2.  BGP Peering Between Directly-Connected Nodes  . . . . . .   8
     4.3.  BGP Peering in Route-Reflector or Controller Topology . .   9
   5.  BGP Shortest Path Routing (SPF) Protocol Extensions . . . . .   9
     5.1.  BGP-LS Shortest Path Routing (SPF) SAFI . . . . .   8
       4.2.1.  BGP-LS Link NLRI Attribute Prefix-Length TLVs . . . .   9
       4.2.2.  BGP-LS Link
       5.1.1.  BGP-LS-SPF NLRI Attribute SPF Status TLV . . TLVs  . . . .   9
     4.3.  Prefix NLRI Usage . . . . . . . . . . . .   9
       5.1.2.  BGP-LS Attribute  . . . . . . . .  10
       4.3.1.  BGP-LS Prefix NLRI Attribute SPF Status TLV . . . . .  10
     4.4.  BGP-LS Attribute Sequence-Number TLV . . . . .  10
     5.2.  Extensions to BGP-LS  . . . . .  10
   5.  Decision Process with SPF Algorithm . . . . . . . . . . . . .  11
     5.1.  Phase-1 BGP
       5.2.1.  Node NLRI Selection  . . . Usage . . . . . . . . . . . .  12
     5.2.  Dual Stack Support . . . . . . .  11
         5.2.1.1.  Node NLRI Attribute SPF Capability TLV  . . . . .  11
         5.2.1.2.  BGP-LS-SPF Node NLRI Attribute SPF Status TLV . .  12
       5.2.2.  Link NLRI Usage . . . . . . . . . . . . . . . . . . .  13
     5.3.
         5.2.2.1.  BGP-LS-SPF Link NLRI Attribute Prefix-Length TLVs  14
         5.2.2.2.  BGP-LS-SPF Link NLRI Attribute SPF Calculation based on BGP-LS Status TLV . .  14
       5.2.3.  IPv4/IPv6 Prefix NLRI Usage . . . . . . . . . .  13
     5.4. . . .  15
         5.2.3.1.  BGP-LS-SPF Prefix NLRI Attribute SPF Status TLV .  16
       5.2.4.  BGP-LS Attribute Sequence-Number TLV  . . . . . . . .  16
     5.3.  NEXT_HOP Manipulation . . . . . . . . . . . . . . . . . .  16
     5.5.  IPv4/IPv6 Unicast Address Family Interaction  17
   6.  Decision Process with SPF Algorithm . . . . . .  16
     5.6. . . . . . . .  18
     6.1.  BGP NLRI Advertisement and Convergence Selection  . . . . . . . . . . .  17
       5.6.1.  Link/Prefix Failure Convergence . . . . . . . .  19
       6.1.1.  BGP Self-Originated NLRI  . . .  17
       5.6.2.  Node Failure Convergence . . . . . . . . . . .  20
     6.2.  Dual Stack Support  . . . . . . . . .  17
     5.7.  Error Handling . . . . . . . . . .  20
     6.3.  SPF Calculation based on BGP-LS-SPF NLRI  . . . . . . . .  20
     6.4.  IPv4/IPv6 Unicast Address Family Interaction  . . .  18
   6.  IANA Considerations . . .  25
     6.5.  NLRI Advertisement  . . . . . . . . . . . . . . . . . .  18 .  25
       6.5.1.  Link/Prefix Failure Convergence . . . . . . . . . . .  25
       6.5.2.  Node Failure Convergence  . . . . . . . . . . . . . .  26
   7.  Security Considerations  Error Handling  . . . . . . . . . . . . . . . . . . .  18
   8.  Management Considerations . . . .  26
     7.1.  Processing of BGP-LS-SPF TLVs . . . . . . . . . . . . . .  18
     8.1.  Configuration  26
     7.2.  Processing of BGP-LS-SPF NLRIs  . . . . . . . . . . . . .  27
     7.3.  Processing of BGP-LS Attribute  . . . . . . . . .  18
     8.2.  Operational Data . . . .  28
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . .  19
   9.  Implementation Status . .  29
   9.  Security Considerations . . . . . . . . . . . . . . . . . .  19 .  30
   10. Acknowledgements Management Considerations . . . . . . . . . . . . . . . . . .  31
     10.1.  Configuration  . . . .  19
   11. Contributors . . . . . . . . . . . . . . . . .  31
       10.1.1.  Link Metric Configuration  . . . . . . .  20
   12. References . . . . . .  31
       10.1.2.  backoff-config . . . . . . . . . . . . . . . . . . .  20
     12.1.  Normative References  31
     10.2.  Operational Data . . . . . . . . . . . . . . . . . .  20
     12.2.  Information References . .  31
   11. Implementation Status . . . . . . . . . . . . . . .  21
   Authors' Addresses . . . . .  32
   12. Acknowledgements  . . . . . . . . . . . . . . . . . .  23

1.  Introduction

   Many Massively Scaled Data Centers (MSDCs) have converged on . . . .  32
   13. Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  32
   14. References  . . . . . . . . . . . . . . . . . . . . . . . . .  33
     14.1.  Normative References . . . . . . . . . . . . . . . . . .  33
     14.2.  Informational References . . . . . . . . . . . . . . . .  35
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  36

1.  Introduction

   Many Massively Scaled Data Centers (MSDCs) have converged on
   simplified layer 3 routing.  Furthermore, requirements for
   operational simplicity have led many of these MSDCs to converge on
   BGP [RFC4271] as their single routing protocol for both their fabric
   routing and their Data Center Interconnect (DCI) routing.
   Requirements and procedures for using BGP are described in routing [RFC7938].
   This document describes an alternative solution which leverages BGP-
   LS [RFC7752] and the Shortest Path First algorithm similar to used by Internal
   Gateway Protocols (IGPs) such as OSPF [RFC2328].

   This document leverages both the BGP protocol [RFC4271] defines and the Decision Process that is used to select routes
   for subsequent advertisement by applying BGP-
   LS [RFC7752] protocols.  The relationship, as well as the policies scope of
   changes are described respectively in the local
   Policy Information Base (PIB) Section 2 and Section 3.  The
   modifications to [RFC4271] for BGP SPF described herein only apply to
   IPv4 and IPv6 as underlay unicast Subsequent Address Families
   Identifiers (SAFIs).  Operations for any other BGP SAFIs are outside
   the routes stored in its Adj-RIBs-
   In.  The output scope of this document.

   This solution avails the Decision Process is the set benefits of routes that are
   announced by a both BGP speaker to its peers.  These selected routes are
   stored by a BGP speaker in the speaker's Adj-RIBs-Out according to
   policy.

   [RFC7752] describes a mechanism by which link-state and TE
   information can be collected from networks and shared with external
   components using BGP.  This is achieved by defining NLRI advertised
   within the BGP-LS/BGP-LS-SPF AFI/SAFI.  The BGP-LS extensions defined
   in [RFC7752] makes use of the Decision Process defined in [RFC4271].

   This document augments [RFC7752] by replacing its use of the existing
   Decision Process.  Rather than reusing the BGP-LS SAFI, the BGP-LS-
   SPF SAFI is introduced to insure backward compatibility.  The Phase 1
   and 2 decision functions of the Decision Process are replaced with
   the Shortest Path First (SPF) algorithm also known as the Dijkstra
   algorithm.  The Phase 3 decision function is also simplified since it
   is no longer dependent on the previous phases.  This solution avails
   the benefits of both BGP and SPF-based IGPs. and SPF-based IGPs.
   These include TCP based flow-control, no periodic link-state refresh,
   and completely incremental NLRI advertisement.  These advantages can
   reduce the overhead in MSDCs where there is a high degree of Equal
   Cost Multi-
   Path Multi-Path (ECMPs) and the topology is very stable.
   Additionally, using an SPF-based computation can support fast
   convergence and the computation of Loop-Free Alternatives (LFAs) [RFC5286] (LFAs).
   The SPF LFA extensions defined in [RFC5286] can be similarly applied
   to BGP SPF calculations.  However, the event details are a matter of link failures.
   implementation detail.  Furthermore, a BGP based BGP-based solution lends
   itself to multiple peering models including those incorporating route-
   reflectors
   route-reflectors [RFC4456] or controllers.

   Support for Multiple Topology Routing (MTR) as described in [RFC4915]
   is an area for further study dependent on deployment requirements.

1.1.  BGP Shortest Path First (SPF) Motivation

   Given that [RFC7938] already describes how BGP could be used as the
   sole routing protocol  Terminology

   This specification reuses terms defined in an MSDC, one might question the motivation
   for defining an alternate BGP deployment model when a mature solution
   exists.  For both alternatives, section 1.1 of [RFC4271]
   including BGP offers speaker, NLRI, and Route.

   Additionally, this document introduces the operational benefits following terms:

   BGP SPF Routing Domain:  A set of BGP routers that are under a single routing protocol.  However, BGP SPF offers some unique
   advantages above
      administrative domain and beyond exchange link-state information using
      the BGP-LS-SPF SAFI and compute routes using BGP SPF as described
      herein.

   BGP-LS-SPF NLRI:  This refers to BGP-LS Network Layer Reachability
      Information (NLRI) that is being advertised in the BGP-LS-SPF SAFI
      (Section 5.1) and is being used for BGP SPF route computation.

   Dijkstra Algorithm:  An algorithm for computing the shortest path
      from a given node in a graph to every other node in the graph.  At
      each iteration of the algorithm, there is a list of candidate
      vertices.  Paths from the root to these vertices have been found,
      but not necessarily the shortest ones.  However, the paths to the
      candidate vertex that is closest to the root are guaranteed to be
      shortest; this vertex is added to the shortest-path tree, removed
      from the candidate list, and its adjacent vertices are examined
      for possible addition to/modification of the candidate list.  The
      algorithm then iterates again.  It terminates when the candidate
      list becomes empty.  [RFC2328]

1.2.  BGP Shortest Path First (SPF) Motivation

   Given that [RFC7938] already describes how BGP could be used as the
   sole routing protocol in an MSDC, one might question the motivation
   for defining an alternate BGP deployment model when a mature solution
   exists.  For both alternatives, BGP offers the operational benefits
   of a single routing protocol as opposed to the combination of an IGP
   for the underlay and BGP as an overlay.  However, BGP SPF offers some
   unique advantages above and beyond standard BGP distance-vector
   routing.  With BGP SPF, the standard hop-by-hop peering model is
   relaxed.

   A primary advantage is that all BGP BGP-LS-SPF speakers in the BGP SPF
   routing domain will have a complete view of the topology.  This will
   allow support for ECMP, IP fast-reroute (e.g., Loop-Free
   Alternatives), Shared Risk Link Groups (SRLGs), and other routing
   enhancements without advertisement of addition additional BGP paths [RFC7911]
   or other extensions.  In short, the advantages of an IGP such as OSPF
   [RFC2328] are availed in BGP.

   With the simplified BGP decision process as defined in Section 5.1, 6,
   NLRI changes can be disseminated throughout the BGP routing domain
   much more rapidly (equivalent to IGPs with the proper
   implementation).  The added advantage of BGP using TCP for reliable
   transport leverages TCP's inherent flow-control and guaranteed in-
   order delivery.

   Another primary advantage is a potential reduction in NLRI
   advertisement.  With standard BGP distance-vector routing, a single
   link failure may impact 100s or 1000s prefixes and result in the
   withdrawal or re-advertisement of the attendant NLRI.  With BGP SPF,
   only the BGP speakers corresponding to the link NLRI need to withdraw
   the corresponding BGP-LS BGP-LS-SPF Link NLRI.  This advantage  Additionally, the changed
   NLRI will contribute be advertised immediately as opposed to both faster convergence and better scaling.

   With controller and route-reflector peering models, normal BGP where it
   is only advertised after the best route selection.  These advantages
   will afford NLRI dissemination throughout the BGP SPF routing domain
   with efficiencies similar to link-state protocols.

   With controller and route-reflector peering models, BGP SPF
   advertisement and distributed computation require a minimal number of
   sessions and copies of the NLRI since only the latest version of the
   NLRI from the originator is required.  Given that verification of the
   adjacencies is done outside of BGP (see Section 2), 4), each BGP speaker
   will only need as many sessions and copies of the NLRI as required
   for redundancy (e.g., one for the SPF computation and another for
   backup).  Functions such as Optimized Route Reflection (ORR) are
   supported without extension by virtue of the primary advantages. (see Section 4).  Additionally, a controller could
   inject topology that is learned outside the BGP SPF routing domain.

   Given that controllers are already consuming BGP-LS NLRI [RFC7752],
   reusing
   this functionality can be reused for the BGP-LS SPF leverages the existing controller
   implementations. BGP-LS-SPF NLRI.

   Another potential advantage of BGP SPF is that both IPv6 and IPv4 can
   both be supported in the same address family using the BGP-LS-SPF SAFI with the same topology. BGP-LS-SPF
   NLRIs.  In many MSDC fabrics, the IPv4 and IPv6 topologies are
   congruent.  Although not described in this version of beyond the scope of this document, multi-
   topology extensions can could be used to support separate IPv4, IPv6,
   unicast, and multicast topologies while sharing the same NLRI.

   Finally, the BGP SPF topology can be used as an underlay for other
   BGP address families SAFIs (using the existing model) and realize all the above
   advantages.  A simplified

1.3.  Document Overview

   The document begins with sections defining the precise relationship
   that BGP SPF has with both the base BGP protocol [RFC4271]
   (Section 2) and the BGP Link-State (BGP-LS) extensions [RFC7752]
   (Section 3).  This is required to dispel the notion that BGP SPF is
   an independent protocol.  The BGP peering model using IPv6 link-local
   addresses models, as next-hops can be deployed similar well as the
   their respective trade-offs are then discussed in Section 4.  The
   remaining sections, which make up the bulk of the document, define
   the protocol enhancements necessary to [RFC5549].

1.2. support BGP SPF.  The BGP-LS
   extensions to support BGP SPF are defined in Section 5.  The
   replacement of the base BGP decision process with the SPF computation
   is specified in Section 6.  Finally, BGP SPF error handling is
   defined in Section 7

1.4.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "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.  Base BGP Peering Models

   Depending on Protocol Relationship

   With the requirements, scaling, and capabilities exception of the decision process, the BGP
   speakers, various peering models are supported.  The only requirement
   is that all SPF extensions
   leverage the BGP speakers in protocol [RFC4271] without change.  This includes
   the BGP SPF routing domain receive link-
   state NLRI on a timely basis, run an SPF calculation, protocol Finite State Machine, BGP messages and update their data plane appropriately.  The content
   encodings, processing of the Link BGP messages, BGP attributes and path
   attributes, BGP NLRI is
   described encodings, and any error handling defined in Section 4.2.

2.1.  BGP Single-Hop Peering on Network Node Connections

   The simplest peering model is the one described in section 5.2.1 of
   [RFC7938].  In this model, EBGP single-hop sessions
   [RFC4271] and [RFC7606].

   Due to the changes to the decision process, there are established
   over direct point-to-point links interconnecting mechanisms and
   encodings that are no longer applicable.  While not necessarily
   required for computation, the SPF domain
   nodes.  For ORIGIN, AS_PATH, MULTI_EXIT_DISC,
   LOCAL_PREF, and NEXT_HOP path attributes are mandatory and will be
   validated.  The ATOMIC_AGGEGATE, and AGGREGATOR are not applicable
   within the purposes context of BGP SPF, Link NLRI is only advertised SPF and SHOULD NOT be advertised.  However,
   if
   a single-hop BGP session has been established they are advertised, they will be accepted, validated, and
   propagated consistent with the Link-State/SPF
   address family capability has been exchanged [RFC4790] on BGP protocol.

   Section 9 of [RFC4271] defines the
   corresponding session.  If decision process that is used to
   select routes for subsequent advertisement by applying the session goes down, policies
   in the corresponding
   Link NLRI will be withdrawn.  Topologically, this would be equivalent local Policy Information Base (PIB) to the peering model routes stored in [RFC7938] where there
   its Adj-RIBs-In.  The output of the Decision Process is the set of
   routes that are announced by a BGP session on
   every link speaker to its peers.  These
   selected routes are stored by a BGP speaker in the data center switch fabric.

2.2.  BGP Peering Between Directly Connected Network Nodes

   In this model, speaker's Adj-
   RIBs-Out according to policy.

   The BGP speakers peer with all directly connected network
   nodes but SPF extension fundamentally changes the sessions may decision process, as
   described herein, to be multi-hop and the direct connection
   discovery and liveliness detection for those connections more like a link-state protocol (e.g., OSPF
   [RFC2328]).  Specifically:

   1.  BGP advertisements are
   independent readvertised to neighbors immediately
       without waiting or dependence on the route computation as
       specified in phase 3 of the base BGP protocol.  How this is accomplished is outside decision process.  Multiple
       peering models are supported as specified in Section 4.

   2.  Determining the scope degree of this document.  Consequently, there will be a single
   session even if there are multiple direct connections between preference for BGP
   speakers.  For routes for the purposes SPF
       calculation as described in phase 1 of the base BGP SPF, Link NLRI decision
       process is advertised as
   long as a BGP session has been established, replaced with the Link-State/SPF
   address family capability has been exchanged [RFC4790] and mechanisms in Section 6.1.

   3.  Phase 2 of the
   corresponding link is considered is up and considered operational.
   This base BGP protocol decision process is much like replaced
       with the previous peering model only peering is on Shortest Path First (SPF) algorithm, also known as the
       Dijkstra algorithm Section 1.1.

3.  BGP Link-State (BGP-LS) Relationship

   [RFC7752] describes a
   single loopback address mechanism by which link-state and the switch fabric links TE
   information can be
   unnumbered.  However, there will be the same number of sessions as collected from networks and shared with external
   entities using BGP.  This is achieved by defining NLRI advertised
   using the previous peering model unless there are parallel links
   between switches BGP-LS AFI.  The BGP-LS extensions defined in [RFC7752]
   make use of the fabric.

2.3.  BGP Peering decision process defined in Route-Reflector or Controller Topology

   In this model, BGP speakers peer solely with one or more Route
   Reflectors [RFC4456] or controllers.  As [RFC4271].  This document
   reuses NLRI and TLVs defined in [RFC7752].  Rather than reusing the previous model,
   direct connection discovery and liveliness detection
   BGP-LS SAFI, the BGP-LS-SPF SAFI Section 5.1 is introduced to insure
   backward compatibility for those
   connections are done outside the BGP-LS SAFI usage.

   The BGP protocol.  More specifically, SPF extensions reuse the Liveliness detection is done using BFD protocol described Node, Link, and Prefix NLRI defined
   in
   [RFC5880].  For the purposes [RFC7752].  The usage of BGP SPF, Link NLRI is advertised as
   long as the corresponding link is up BGP-LS NLRI, metric attributes, and considered operational.

   This peering model, known as sparse peering, allows for many fewer
   BGP sessions and, consequently, instances
   attribute extensions is described in Section 5.2.1.  The usage of the same NLRI received
   from multiple peers.  It
   others BGP-LS attributes is discussed not precluded and is, in greater detail fact, expected.
   However, the details are beyond the scope of this document and will
   be specified in
   [I-D.ietf-lsvr-applicability].

3.  BGP-LS Shortest Path future documents.

   Support for Multiple Topology Routing (SPF) SAFI

   In order (MTR) similar to replace the Phase 1 and 2 decision functions OSPF MTR
   computation described in [RFC4915] is beyond the scope of this
   document.  Consequently, the
   existing Decision Process with an SPF-based Decision Process and
   streamline usage of the Phase 3 decision functions Multi-Topology TLV as
   described in a backward compatible
   manner, this draft introduces section 3.2.1.5 of [RFC7752] is not specified.

   The rules for setting the BGP-LS-SFP SAFI NLRI next-hop path attribute for the BGP-
   LS-SPF SAFI will follow the BGP-LS SPF
   operation.  The BGP-LS-SPF (AFI 16388 / SAFI TBD1) [RFC4790] is
   allocated by IANA as specified in the Section 6.  A section 3.4
   of [RFC7752].

4.  BGP speaker using Peering Models

   Depending on the BGP-LS SPF extensions described herein MUST exchange topology, scaling, capabilities of the AFI/SAFI
   using Multiprotocol Extensions Capability Code [RFC4760] with other BGP-LS-SPF
   speakers, and redundancy requirements, various peering models are
   supported.  The only requirements are that all BGP SPF speakers in
   the BGP SPF routing domain.

4.  Extensions to BGP-LS

   [RFC7752] describes a mechanism by which link-state and TE
   information can be collected from networks domain exchange BGP-LS-SPF NLRI, run an SPF
   calculation, and shared with external
   components using update their routing table appropriately.

4.1.  BGP protocol.  It describes both Single-Hop Peering on Network Node Connections

   The simplest peering model is the definition of
   BGP-LS NLRI that describes links, nodes, and prefixes comprising IGP
   link-state information and one where EBGP single-hop sessions
   are established over direct point-to-point links interconnecting the definition of a BGP path attribute
   (BGP-LS attribute) that carries link, node, and prefix properties and
   attributes, such as
   nodes in the link and prefix metric or auxiliary Router-
   IDs of nodes, etc.

   The BGP protocol will be used in SPF routing domain.  Once the Protocol-ID field specified in
   table 1 of [I-D.ietf-idr-bgpls-segment-routing-epe].  The local single-hop BGP session
   has been established and
   remote node descriptors the BGP-LS-SPF AFI/SAFI capability has been
   exchanged [RFC4760] for all NLRI will be the corresponding session, then the link is
   considered up from a BGP Router-ID (TLV
   516) SPF perspective and either the AS Number (TLV 512) [RFC7752] or corresponding BGP-
   LS-SPF Link NLRI is advertised.  If the BGP
   Confederation Member (TLV 517) [RFC8402].  However, if session goes down, the BGP
   Router-ID is known to
   corresponding Link NLRI will be unique within withdrawn.  Topologically, this would
   be equivalent to the peering model in [RFC7938] where there is a BGP Routing domain, it can
   be used as
   session on every link in the sole descriptor.

4.1.  Node NLRI Usage data center switch fabric.  The BGP Node content
   of the Link NLRI will be advertised unconditionally by all routers is described in the Section 5.2.2.

4.2.  BGP SPF routing domain.

4.1.1.  Node NLRI Attribute SPF Peering Between Directly-Connected Nodes

   In this model, BGP-LS-SPF speakers peer with all directly-connected
   nodes but the sessions may be between loopback addresses (i.e., two-
   hop sessions) and the direct connection discovery and liveliness
   detection for the interconnecting links are independent of the BGP
   protocol.  the scope of this document.  For example, liveliness
   detection could be done using the BFD protocol [RFC5880].  Precisely
   how discovery and liveliness detection is accomplished is outside the
   scope of this document.  Consequently, there will be a single BGP
   session even if there are multiple direct connections between BGP-LS-
   SPF speakers.  BGP-LS-SPF Link NLRI is advertised as long as a BGP
   session has been established, the BGP-LS-SPF AFI/SAFI capability has
   been exchanged [RFC4760], and the link is operational as determined
   using liveliness detection mechanisms outside the scope of this
   document.  This is much like the previous peering model only peering
   is between loopback addresses and the interconnecting links can be
   unnumbered.  However, since there are BGP sessions between every
   directly-connected node in the BGP SPF routing domain, there is only
   a reduction in BGP sessions when there are parallel links between
   nodes.

4.3.  BGP Peering in Route-Reflector or Controller Topology

   In this model, BGP-LS-SPF speakers peer solely with one or more Route
   Reflectors [RFC4456] or controllers.  As in the previous model,
   direct connection discovery and liveliness detection for those links
   in the BGP SPF routing domain are done outside of the BGP protocol.
   BGP-LS-SPF Link NLRI is advertised as long as the corresponding link
   is considered up as per the chosen liveness detection mechanism.

   This peering model, known as sparse peering, allows for fewer BGP
   sessions and, consequently, fewer instances of the same NLRI received
   from multiple peers.  Normally, the route-reflectors or controller
   BGP sessions would be on directly-connected links to avoid dependence
   on another routing protocol for session connectivity.  However,
   multi-hop peering is not precluded.  The number of BGP sessions is
   dependent on the redundancy requirements and the stability of the BGP
   sessions.  This is discussed in greater detail in
   [I-D.ietf-lsvr-applicability].

5.  BGP Shortest Path Routing (SPF) Protocol Extensions

5.1.  BGP-LS Shortest Path Routing (SPF) SAFI

   In order to replace the existing BGP decision process with an SPF-
   based decision process in a backward compatible manner by not
   impacting the BGP-LS SAFI, this document introduces the BGP-LS-SPF
   SAFI.  The BGP-LS-SPF (AFI 16388 / SAFI 80) [RFC4760] is allocated by
   IANA as specified in the Section 8.  In order for two BGP-LS-SPF
   speakers to exchange BGP SPF NLRI, they MUST exchange the
   Multiprotocol Extensions Capability [RFC5492] [RFC4760] to ensure
   that they are both capable of properly processing such NLRI.  This is
   done with AFI 16388 / SAFI 80 for BGP-LS-SPF advertised within the
   BGP SPF Routing Domain.  The BGP-LS-SPF SAFI is used to carry IPv4
   and IPv6 prefix information in a format facilitating an SPF-based
   decision process.

5.1.1.  BGP-LS-SPF NLRI TLVs

   The NLRI format of BGP-LS-SPF SAFI uses exactly same format as the
   BGP-LS AFI [RFC7752].  In other words, all the TLVs used in BGP-LS
   AFI are applicable and used for the BGP-LS-SPF SAFI.  These TLVs
   within BGP-LS-SPF NLRI advertise information that describes links,
   nodes, and prefixes comprising IGP link-state information.

   In order to compare the NLRI efficiently, it is REQUIRED that all the
   TLVs within the given NLRI must be ordered in ascending order by the
   TLV type.  For multiple TLVs of same type within a single NLRI, it is
   REQUIRED that these TLVs are ordered in ascending order by the TLV
   value field.  Comparison of the value fields is performed by treating
   the entire value field as a hexadecimal string.  NLRIs having TLVs
   which do not follow the ordering rules MUST be considered as
   malformed and discarded with appropriate error logging.

   [RFC7752] defines certain NLRI TLVs as a mandatory TLVs.  These TLVs
   are considered mandatory for the BGP-LS-SPF SAFI as well.  All the
   other TLVs are considered as an optional TLVs.

5.1.2.  BGP-LS Attribute

   The BGP-LS attribute of the BGP-LS-SPF SAFI uses exactly same format
   of the BGP-LS AFI [RFC7752].  In other words, all the TLVs used in
   BGP-LS attribute of the BGP-LS AFI are applicable and used for the
   BGP-LS attribute of the BGP-LS-SPF SAFI.  This attribute is an
   optional, non-transitive BGP attribute that is used to carry link,
   node, and prefix properties and attributes.  The BGP-LS attribute is
   a set of TLVs.

   The BGP-LS attribute may potentially grow large in size depending on
   the amount of link-state information associated with a single Link-
   State NLRI.  The BGP specification [RFC4271] mandates a maximum BGP
   message size of 4096 octets.  It is RECOMMENDED that an
   implementation support [RFC8654] in order to accommodate larger size
   of information within the BGP-LS Attribute.  BGP-LS-SPF speakers MUST
   ensure that they limit the TLVs included in the BGP-LS Attribute to
   ensure that a BGP update message for a single Link-State NLRI does
   not cross the maximum limit for a BGP message.  The determination of
   the types of TLVs to be included by the BGP-LS-SPF speaker
   originating the attribute is outside the scope of this document.
   When a BGP-LS-SPF speaker finds that it is exceeding the maximum BGP
   message size due to addition or update of some other BGP Attribute
   (e.g., AS_PATH), it MUST consider the BGP-LS Attribute to be
   malformed and the attribute discard handling of [RFC7606] applies.

   In order to compare the BGP-LS attribute efficiently, it is REQUIRED
   that all the TLVs within the given attribute must be ordered in
   ascending order by the TLV type.  For multiple TLVs of same type
   within a single attribute, it is REQUIRED that these TLVs are ordered
   in ascending order by the TLV value field.  Comparison of the value
   fields is performed by treating the entire value field as a
   hexadecimal string.  Attributes having TLVs which do not follow the
   ordering rules MUST NOT be considered as malformed.

   All TLVs within the BGP-LS Attribute are considered optional unless
   specified otherwise.

5.2.  Extensions to BGP-LS

   [RFC7752] describes a mechanism by which link-state and TE
   information can be collected from IGPs and shared with external
   components using the BGP protocol.  It describes both the definition
   of the BGP-LS-SPF NLRI that advertise links, nodes, and prefixes
   comprising IGP link-state information and the definition of a BGP
   path attribute (BGP-LS attribute) that carries link, node, and prefix
   properties and attributes, such as the link and prefix metric or
   auxiliary Router-IDs of nodes, etc.  This document extends the usage
   of BGP-LS NLRI for the purpose of BGP SPF calculation via
   advertisement in the BGP-LS-SPF SAFI.

   The protocol identifier specified in the Protocol-ID field [RFC7752]
   will represent the origin of the advertised NLRI.  For Node NLRI and
   Link NLRI, this MUST be the direct protocol (4).  Node or Link NLRI
   with a Protocol-ID other than direct will be considered malformed.
   For Prefix NLRI, the specified Protocol-ID MUST be the origin of the
   prefix.  The local and remote node descriptors for all NLRI MUST
   include the BGP Identifier (TLV 516) and the AS Number (TLV 512)
   [RFC7752].  The BGP Confederation Member (TLV 517) [RFC7752] is not
   appliable and SHOULD not be included.  If TLV 517 is included, it
   will be ignored.

5.2.1.  Node NLRI Usage

   The Node NLRI MUST be advertised unconditionally by all routers in
   the BGP SPF routing domain.

5.2.1.1.  Node NLRI Attribute SPF Capability TLV

   The SPF capability is capability is an additional Node Attribute TLV.  This
   attribute TLV MUST be included with the BGP-LS-SPF SAFI and SHOULD
   NOT be used for other SAFIs.  The TLV type 1180 will be assigned by
   IANA.  The Node Attribute TLV will contain a single-octet SPF
   algorithm as defined in [RFC8665].

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Type (1180)      |     Length - (1 Octet)        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Algorithm |
      +-+-+-+-+-+-+-+-+

   The SPF algorithm inherits the values from the IGP Algorithm Types
   registry [RFC8665].  Algorithm 0, (Shortest Path Algorithm (SPF)
   based on link metric, is supported and described in Section 6.3.
   Support for other algorithm types is beyond the scope of this
   specification.

   When computing the SPF for a given BGP routing domain, only BGP nodes
   advertising the SPF capability TLV with same SPF algorithm will be
   included in the Shortest Path Tree (SPT).  An implementation MAY
   optionally log detection of a BGP node that has either not advertised
   the SPF capability TLV or is advertising the SPF capability TLV with
   an algorithm type other than 0.

5.2.1.2.  BGP-LS-SPF Node NLRI Attribute SPF Status TLV

   A BGP-LS Attribute TLV of the BGP-LS-SPF Node NLRI is defined to
   indicate the status of the node with respect to the BGP SPF
   calculation.  This will be used to rapidly take a node out of service
   Section 6.5.2 or to indicate the node is not to be used for transit
   (i.e., non-local) traffic Section 6.3.  If the SPF Status TLV is not
   included with the Node NLRI, the node is considered to be up and is
   available for transit traffic.  The SPF status is acted upon with the
   execution of the next SPF calculation Section 6.3.  A single TLV type
   will be shared by the BGP-LS-SPF Node, Link, and Prefix NLRI.  The
   TLV type 1184 will be assigned by IANA.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Type (1184)                 |       Length (1 Octet)        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Status    |
      +-+-+-+-+-+-+-+-+

       BGP Status Values: 0 - Reserved
                          1 - Node Unreachable with respect to BGP SPF
                          2 - Node does not support transit with respect
                              to BGP SPF
                      3-254 - Undefined
                        255 - Reserved

   If the SPF Status TLV is received and the corresponding Node NLRI has
   not been received, then the SPF Status TLV is ignored and not used in
   SPF computation but is still announced to other BGP speakers.  An
   implementation MAY log an error for further analysis.  If a BGP
   speaker received the Node NLRI but the SPF Status TLV is not
   received, then any previously received information is considered as
   implicitly withdrawn and the update is propagated to other BGP
   speakers.  A BGP speaker receiving a BGP Update containing a SPF
   Status TLV in the BGP-LS attribute [RFC7752] with a value that is
   outside the range of defined values SHOULD be processed and announced
   to other BGP speakers.  However, a BGP speaker MUST not use the
   Status TLV in its SPF computation.  An implementation MAY log this
   condition for further analysis.

5.2.2.  Link NLRI Usage

   The criteria for advertisement of Link NLRI are discussed in
   Section 4.

   Link NLRI is advertised with unique local and remote node descriptors
   dependent on the IP addressing.  For IPv4 links, the link's local
   IPv4 (TLV 259) and remote IPv4 (TLV 260) addresses will be used.  For
   IPv6 links, the local IPv6 (TLV 261) and remote IPv6 (TLV 262)
   addresses will be used.  For unnumbered links, the link local/remote
   identifiers (TLV 258) will be used.  For links supporting having both
   IPv4 and IPv6 addresses, both sets of descriptors MAY be included in
   the same Link NLRI.  The link identifiers are described in table 5 of
   [RFC7752].

   For a link to be used in Shortest Path Tree (SPT) for a given address
   family, i.e., IPv4 or IPv6, both routers connecting the link MUST
   have an address in the same subnet for that address family.  However,
   an IPv4 or IPv6 prefix associated with the link MAY be installed
   without the corresponding address on the other side of link.

   The link IGP metric attribute TLV (TLV 1095) MUST be advertised.  If
   a BGP speaker receives a Link NLRI without an IGP metric attribute
   TLV, then it SHOULD consider the received NLRI as a malformed and the
   receiving BGP speaker MUST handle such malformed NLRI as 'Treat-as-
   withdraw' [RFC7606].  The BGP SPF metric length is 4 octets.  Like
   OSPF [RFC2328], a cost is associated with the output side of each
   router interface.  This cost is configurable by the system
   administrator.  The lower the cost, the more likely the interface is
   to be used to forward data traffic.  One possible default for metric
   would be to give each interface a cost of 1 making it effectively a
   hop count.  Algorithms such as setting the metric inversely to the
   link speed as supported in the OSPF MIB [RFC4750] MAY be supported.
   However, this is beyond the scope of this document.  Refer to
   Section 10.1.1 for operational guidance.

   The usage of other link attribute TLVs is beyond the scope of this
   document.

5.2.2.1.  BGP-LS-SPF Link NLRI Attribute Prefix-Length TLVs

   Two BGP-LS Attribute TLVs of the BGP-LS-SPF Link NLRI are defined to
   advertise the prefix length associated with the IPv4 and IPv6 link
   prefixes derived from the link descriptor addresses.  The prefix
   length is used for the optional installation of prefixes
   corresponding to Link NLRI as defined in Section 6.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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |IPv4 (1182) or IPv6 Type (1183)|          Length (1 Octet)     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Prefix-Length |
      +-+-+-+-+-+-+-+-+

        Prefix-length - A one-octet length restricted to 1-32 for IPv4
                        Link NLRI endpoint prefixes and 1-128 for IPv6
                        Link NLRI endpoint prefixes.

   The Prefix-Length TLV is only relevant to Link NLRIs.  The Prefix-
   Length TLVs MUST be discarded as an error and not passed to other BGP
   peers as specified in [RFC7606] when received with any NLRIs other
   than Link NRLIs.  An implementation MAY log an error for further
   analysis.

   The maximum prefix-length for IPv4 Prefix-Length TLV is 32 bits.  A
   prefix-length field indicating a larger value than 32 bits MUST be
   discarded as an error and the received TLV is not passed to other BGP
   peers as specified in [RFC7606].  The corresponding Link NLRI is
   considered as malformed and MUST be handled as 'Treat-as-withdraw'.
   An implementation MAY log an error for further analysis.

   The maximum prefix-length for IPv6 Prefix-Length Type is 128 bits.  A
   prefix-length field indicating a larger value than 128 bits MUST be
   discarded as an error and the received TLV is not passed to other BGP
   peers as specified in [RFC7606].  The corresponding Link NLRI is
   considered as malformed and MUST be handled as 'Treat-as-withdraw'.
   An implementation MAY log an error for further analysis.

5.2.2.2.  BGP-LS-SPF Link NLRI Attribute SPF Status TLV

   A BGP-LS Attribute TLV of the BGP-LS-SPF Link NLRI is defined to
   indicate the status of the link with respect to the BGP SPF
   calculation.  This will be used to expedite convergence for link
   failures as discussed in Section 6.5.1.  If the SPF Status TLV is not
   included with the Link NLRI, the link is considered up and available.
   The SPF status is acted upon with the execution of the next SPF
   calculation Section 6.3.  A single TLV type will be shared by the
   Node, Link, and Prefix NLRI.  The TLV type 1184 will be assigned by
   IANA.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Type (1184)                 |      Length (1 Octet)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Status    |
      +-+-+-+-+-+-+-+-+

       BGP Status Values: 0 - Reserved
                          1 - Link Unreachable with respect to BGP SPF
                      2-254 - Undefined
                        255 - Reserved

   If the SPF Status TLV is received and the corresponding Link NLRI has
   not been received, then the SPF Status TLV is ignored and not used in
   SPF computation but is still announced to other BGP speakers.  An
   implementation MAY log an error for further analysis.  If a BGP
   speaker received the Link NLRI but the SPF Status TLV is not
   received, then any previously received information is considered as
   implicitly withdrawn and the update is propagated to other BGP
   speakers.  A BGP speaker receiving a BGP Update containing an SPF
   Status TLV in the BGP-LS attribute [RFC7752] with a value that is
   outside the range of defined values SHOULD be processed and announced
   to other BGP speakers.  However, a BGP speaker MUST not use the
   Status TLV in its SPF computation.  An implementation MAY log this
   information for further analysis.

5.2.3.  IPv4/IPv6 Prefix NLRI Usage

   IPv4/IPv6 Prefix NLRI is advertised with a Local Node Descriptor and
   the prefix and length.  The Prefix Descriptors field includes the IP
   Reachability Information TLV (TLV 265) as described in [RFC7752].
   The prefix metric attribute TLV (TLV 1155) MUST be advertised.  The
   IGP Route Tag TLV (TLV 1153) MAY be advertised.  The usage of other
   attribute TLVs is beyond the scope of this document.  For loopback
   prefixes, the metric should be 0.  For non-loopback prefixes, the
   setting of the metric is a local matter and beyond the scope of this
   document.

5.2.3.1.  BGP-LS-SPF Prefix NLRI Attribute SPF Status TLV

   A BGP-LS Attribute TLV to BGP-LS-SPF Prefix NLRI is defined to
   indicate the status of the prefix with respect to the BGP SPF
   calculation.  This will be used to expedite convergence for prefix
   unreachability as discussed in Section 6.5.1.  If the SPF Status TLV
   is not included with the Prefix NLRI, the prefix is considered
   reachable.  A single TLV type will be shared by the Node, Link, and
   Prefix NLRI.  The TLV type 1184 will be assigned by IANA.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Type (1184)                 |      Length (1 Octet)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Status    |
      +-+-+-+-+-+-+-+-+

       BGP Status Values: 0 - Reserved
                          1 - Prefix Unreachable with respect to SPF
                      2-254 - Undefined
                        255 - Reserved

   If the SPF Status TLV is received and the corresponding Prefix NLRI
   has not been received, then the SPF Status TLV is ignored and not
   used in SPF computation but is still announced to other BGP speakers.
   An implementation MAY log an error for further analysis.  If a BGP
   speaker received the Prefix NLRI but the SPF Status TLV is not
   received, then any previously received information is considered as
   implicitly withdrawn and the update is propagated to other BGP
   speakers.  A BGP speaker receiving a BGP Update containing an SPF
   Status TLV in the BGP-LS attribute [RFC7752] with a value that is
   outside the range of defined values SHOULD be processed and announced
   to other BGP speakers.  However, a BGP speaker MUST not use the
   Status TLV in its SPF computation.  An implementation MAY log this
   information for further analysis.

5.2.4.  BGP-LS Attribute Sequence-Number TLV

   A BGP-LS Attribute TLV of the BGP-LS-SPF NLRI types is defined to
   assure the most recent version of a given NLRI is used in the SPF
   computation.  The Sequence-Number TLV is mandatory for BGP-LS-SPF
   NLRI.  The TLV type 1181 has been assigned by IANA.  The BGP-LS
   Attribute TLV will contain an 8-octet sequence number.  The usage of
   the Sequence Number TLV is described in Section 6.1.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Type (1181)                 |      Length (8 Octets)        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                Sequence Number (High-Order 32 Bits)           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                Sequence Number (Low-Order 32 Bits)            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Sequence Number

   The 64-bit strictly-increasing sequence number MUST be incremented
   for every self-originated version of BGP-LS-SPF NLRI.  BGP speakers
   implementing this specification MUST use available mechanisms to
   preserve the sequence number's strictly increasing property for the
   deployed life of the BGP speaker (including cold restarts).  One
   mechanism for accomplishing this would be to use the high-order 32
   bits of the sequence number as a wrap/boot count that is incremented
   any time the BGP router loses its sequence number state or the low-
   order 32 bits wrap.

   When incrementing the sequence number for each self-originated NLRI,
   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
   should be incremented and saved in non-volatile storage.  If by some
   chance the BGP-LS-SPF speaker is deployed long enough that there is a
   possibility that the 64-bit sequence number may wrap or a BGP-LS-SPF
   speaker completely loses its sequence number state (e.g., the BGP
   speaker hardware is replaced or experiences a cold-start), the BGP
   NLRI selection rules (see Section 6.1) will insure convergence,
   albeit not immediately.

   The Sequence-Number TLV is mandatory for BGP-LS-SPF NLRI.  If the
   Sequence-Number TLV is not received then the corresponding Link NLRI
   is considered as malformed and MUST be handled as 'Treat-as-
   withdraw'.  An implementation MAY log an error for further analysis.

5.3.  NEXT_HOP Manipulation

   All BGP peers that support SPF extensions would locally compute the
   Loc-RIB Next-Hop as a new Node Attribute TLV that will result of the SPF process.  Consequently, the
   Next-Hop is always ignored on receipt.  The Next-Hop address MUST be added
   encoded as described in [RFC4760].  BGP speakers MUST interpret the
   Next-Hop address of MP_REACH_NLRI attribute as an IPv4 address
   whenever the length of the Next-Hop address is 4 octets, and as a
   IPv6 address whenever the length of the Next-Hop address is 16
   octets.

   [RFC4760] modifies the rules of NEXT_HOP attribute whenever the
   multiprotocol extensions for BGP-4 are enabled.  BGP speakers MUST
   set the NEXT_HOP attribute according to
   those defined the rules specified in table 7
   [RFC4760] as the BGP-LS-SPF routing information is carried within the
   multiprotocol extensions for BGP-4.

6.  Decision Process with SPF Algorithm

   The Decision Process described in [RFC4271] takes place in three
   distinct phases.  The Phase 1 decision function of [RFC7752]. the Decision
   Process is responsible for calculating the degree of preference for
   each route received from a BGP speaker's peer.  The new attribute Phase 2 decision
   function is invoked on completion of the Phase 1 decision function
   and is responsible for choosing the best route out of all those
   available for each distinct destination, and for installing each
   chosen route into the Loc-RIB.  The combination of the Phase 1 and 2
   decision functions is characterized as a Path Vector algorithm.

   The SPF based Decision process replaces the BGP Decision process
   described in [RFC4271].  This process starts with selecting only
   those Node NLRI whose SPF capability TLV matches with the local BGP-
   LS-SPF speaker's SPF capability TLV will
   only be applicable when BGP value.  Since Link-State NLRI
   always contains the local node descriptor Section 5.2.1, each NLRI is specified
   uniquely originated by a single BGP-LS-SPF speaker in the BGP SPF
   routing domain (the BGP node matching the NLRI's Node Descriptors).
   Instances of the same NLRI Protocol ID
   field.  The TBD TLV type will be defined originated by IANA.  The new multiple BGP speakers would
   be indicative of a configuration error or a masquerading attack
   (Section 9).  These selected Node
   Attribute TLV will contain NLRI and their Link/Prefix NLRI are
   used to build a single-octet directed graph during the SPF algorithm computation as defined in
   [RFC8402].

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Type             |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Algorithm |
      +-+-+-+-+-+-+-+-+
   described below.  The SPF Algorithm may take best routes for BGP prefixes are installed in
   the following values:

   0 - Normal Shortest Path First (SPF) algorithm based on link
       metric. This RIB as a result of the SPF process.

   When BGP-LS-SPF NLRI is received, all that is required is to
   determine whether it is the standard shortest path algorithm as
       computed most recent by examining the IGP protocol.  Consistent with Node-ID and
   sequence number as described in Section 6.1.  If the deployed
       practice for link-state protocols, Algorithm 0 permits received NLRI
   has changed, it will be advertised to other BGP-LS-SPF peers.  If the
   attributes have changed (other than the sequence number), a BGP SPF
   calculation will be triggered.  However, a changed NLRI MAY be
   advertised immediately to other peers and prior to any
       node SPF
   calculation.  Note that the BGP MinRouteAdvertisementIntervalTimer
   and MinASOriginationIntervalTimer [RFC4271] timers are not applicable
   to overwrite the BGP-LS-SPF SAFI.  The scheduling of the SPF path calculation, as
   described in Section 6.3, is an implementation issue.  Scheduling MAY
   be dampened consistent with a different path based on
       its local policy.
   1 - Strict Shortest Path First (SPF) the SPF back-off algorithm based on link
       metric. specified in
   [RFC8405].

   The algorithm Phase 3 decision function of the Decision Process [RFC4271] is identical
   also simplified since under normal SPF operation, a BGP speaker MUST
   advertise the changed NLRIs to Algorithm 0 but Algorithm
       1 requires that all nodes along the path will honor the SPF
       routing decision.  Local policy at BGP peers with the node claiming support for
       Algorithm 1 MUST NOT alter BGP-LS-SPF AFI/
   SAFI and install the SPF paths computed by Algorithm 1.

   Note that usage of Strict Shortest Path First (SPF) algorithm is
   defined changed routes in the IGP algorithm registry but usage is restricted to
   [I-D.ietf-idr-bgpls-segment-routing-epe].  Hence, its usage Global RIB.  The only
   exception are unchanged NLRIs or stale NLRIs, i.e., NLRI received
   with a less recent (numerically smaller) sequence number.

6.1.  BGP NLRI Selection

   The rules for BGP-
   LS SPF is out all BGP-LS-SPF NLRIs selection for phase 1 of scope.

   When computing the SPF for a given BGP routing domain, only
   decision process, section 9.1.1 [RFC4271], no longer apply.

   1.  Routes originated by directly connected BGP nodes
   advertising the SPF capability attribute will peers are
       preferred.  This condition can be included determined by comparing the
   Shortest Path Tree (SPT).

4.1.2.  BGP-LS BGP
       Identifiers in the received Local Node Descriptor and OPEN
       message.  This rule will assure that stale NLRI Attribute SPF Status TLV

   A is updated even
       if a BGP-LS Attribute TLV router loses its sequence number state due to BGP-LS Node a cold-
       start.

   2.  The NLRI is defined to indicate with the
   status of most recent Sequence Number TLV, i.e., highest
       sequence number is selected.

   3.  The route received from the node BGP SPF speaker with respect to the numerically
       larger BGP Identifier is preferred.

   When a BGP SPF calculation.  This
   will be used speaker completely loses its sequence number state,
   i.e., due to rapidly take a node out of service cold start, or to indicate in the
   node unlikely possibility that that
   64-bit sequence number wraps, the BGP routing domain will still
   converge.  This is not due to be used for transit (i.e., non-local) traffic.  If the
   SPF Status TLV is not included with fact that BGP speakers adjacent to the Node NLRI,
   router will always accept self-originated NLRI from the node is
   considered to associated
   speaker as more recent (rule # 1).  When a BGP speaker reestablishes
   a connection with its peers, any existing session will be up taken down
   and is available for transit traffic.

       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 Type    |                       Length                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Status    |
      +-+-+-+-+-+-+-+-+ stale NLRI will be replaced.  The adjacent BGP Status Values: 0 - Reserved
                          1 - Node Unreachable with respect to speaker will
   update their NLRI advertisements, hop by hop, until the BGP routing
   domain has converged.

   The modified SPF
                          2 - Node does not support transit with respect
                              to Decision Process performs an SPF calculation rooted
   at the BGP speaker using the metrics from the Link Attribute IGP
   Metric TLV (1095) and the Prefix Attribute Prefix Metric TLV (1155)
   [RFC7752].  As a result, any other BGP attributes that would
   influence the BGP decision process defined in [RFC4271] including
   ORIGIN, MULTI_EXIT_DISC, and LOCAL_PREF attributes are ignored by the
   SPF
                      3-254 - Undefined
                        255 - Reserved

4.2.  Link NLRI Usage algorithm.  Furthermore, the NEXT_HOP attribute value is
   preserved but otherwise ignored during the SPF computation for BGP-
   LS-SPF NLRIs.  The criteria AS_PATH and AS4_PATH [RFC6793] attributes are
   preserved and used for advertisement of Link NLRI loop detection [RFC4271].  They are discussed in
   Section 2.

   Link ignored
   during the SPF computation for BGP-LS-SPF NRLIs.

6.1.1.  BGP Self-Originated NLRI

   Node, Link, or Prefix NLRI is advertised with Node Descriptors matching the local
   BGP speaker are considered self-originated.  When self-originated
   NLRI is received and remote node descriptors as
   described above it doesn't match the local node's NLRI content
   (including sequence number), special processing is required.

   o  If a self-originated NLRI is received and unique link identifiers dependent on the
   addressing.  For IPv4 links, sequence number is
      more recent (i.e., greater than the links local IPv4 (TLV 259) and
   remote IPv4 (TLV 260) addresses node's sequence number
      for the NLRI), the NLRI sequence number will be used.  For IPv6 links, advanced to one
      greater than the
   local IPv6 (TLV 261) received sequence number and remote IPv6 (TLV 262) addresses will be
   used.  For unnumbered links, the link local/remote identifiers (TLV
   258) NLRI will be used.  For links supporting having both IPv4
      readvertised to all peers.

   o  If self-originated NLRI is received and IPv6
   addresses, both sets of descriptors may be included in the same Link
   NLRI.  The link identifiers are described in table 5 of [RFC7752].

   The link IGP metric attribute TLV (TLV 1095) as well as any others
   required for non-SPF purposes SHOULD be advertised.  The metric value
   in this TLV is variable length dependent on specific protocol usage
   (refer to section 3.3.2.4 in [RFC7752]).  For simplicity, sequence number is the BGP-LS
   SPF metric length will be 4 octets.  Algorithms such
      same as setting the
   metric inversely local node's sequence number but the attributes
      differ, the NLRI sequence number will be advanced to one greater
      than the link speed as done in received sequence number and the OSPF MIB [RFC4750]
   MAY NLRI will be supported.  However, this
      readvertised to all peers.

   o  If self-originated Link or Prefix NLRI is beyond received and the scope of this
   document.

4.2.1.  BGP-LS Link or
      Prefix NLRI Attribute Prefix-Length TLVs

   Two BGP-LS Attribute TLVs to BGP-LS Link is no longer being advertised by the local node, the
      NLRI will be withdrawn.

   The above actions are defined to
   advertise performed immediately when the prefix length associated with first instance
   of a newer self-originated NLRI is received.  In this case, the IPv4 and IPv6 link
   prefixes.  The prefix length newer
   instance is used for considered to be a stale instance that was advertised by
   the optional installation of
   prefixes corresponding local node prior to Link a restart where the 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 state is lost.
   However, if subsequent newer self-originated NLRI is received for the
   same Node, Link, or Prefix NLRI, the readvertisement or withdrawal is
   delayed by 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      TBD IPv4 seconds since it is likely being advertised by a
   misconfigured or IPv6 Type    |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Prefix-Length |
      +-+-+-+-+-+-+-+-+

        Prefix-length - A one-octet length restricted rogue BGP-LS-SPF speaker Section 9.

6.2.  Dual Stack Support

   The SPF-based decision process operates on Node, Link, and Prefix
   NLRIs that support both IPv4 and IPv6 addresses.  Whether to 1-32 run a
   single SPF computation or multiple SPF computations for separate AFs
   is an implementation matter.  Normally, IPv4 next-hops are calculated
   for IPv4
                        Link NLRI endpoint prefixes and 1-128 IPv6 next-hops are calculated for IPv6
                        Link NLRI endpoint
   prefixes.

4.2.2.  BGP-LS Link NLRI Attribute

6.3.  SPF Status TLV

   A BGP-LS Attribute TLV to BGP-LS Link Calculation based on BGP-LS-SPF NLRI is defined to indicate the
   status of the link with respect to

   This section details the BGP SPF BGP-LS-SPF local routing information base
   (RIB) calculation.  This  The router will be used to expedite convergence for link failures as discussed
   in Section 5.6.1.  If the SPF Status TLV is not included with the
   Link NLRI, the link is considered up use BGP-LS-SPF Node, Link, and available.

       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 Type    |                       Length                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Status    |
      +-+-+-+-+-+-+-+-+

       BGP Status Values: 0 - Reserved
                          1 - Link Unreachable with respect to BGP SPF
                      2-254 - Undefined
                        255 - Reserved

4.3.  Prefix NLRI Usage
   Prefix NLRI is advertised with a local node descriptor as described
   above and to compute routes using the prefix and length used as following algorithm.  This
   calculation yields the descriptors (TLV 265) as
   described in [RFC7752].  The prefix metric attribute TLV (TLV 1155)
   as well as any others required for non-SPF purposes SHOULD be
   advertised.  For loopback prefixes, set of routes associated with the metric should be 0.  For non-
   loopback prefixes, BGP-LS
   domain.  A router calculates the shortest-path tree using itself as
   the setting of root.  Optimizations to the metric is a local matter and
   beyond BGP-LS-SPF algorithm are possible but
   MUST yield the scope same set of routes.  The algorithm below supports
   Equal Cost Multi-Path (ECMP) routes.  Weighted Unequal Cost Multi-
   Path routes are out of scope.  The organization of this document.

4.3.1.  BGP-LS Prefix NLRI Attribute SPF Status TLV

   A BGP-LS Attribute TLV to BGP-LS Prefix NLRI is defined section owes
   heavily to indicate
   the status section 16 of the prefix with respect [RFC2328].

   The following abstract data structures are defined in order to
   specify the BGP SPF calculation. algorithm.

   o  Local Route Information Base (LOC-RIB) - This will be used to expedite convergence routing table
      contains reachability information (i.e., next hops) for prefix unreachability all
      prefixes (both IPv4 and IPv6) as discussed in Section 5.6.1.  If the SPF Status TLV is not included well as BGP-LS-SPF node
      reachability.  Implementations may choose to implement this with the
      separate RIBs for each address family and/or Prefix NLRI, the prefix versus Node
      reachability.  It is considered reachable.

       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 Type    |                       Length                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | SPF Status    |
      +-+-+-+-+-+-+-+-+

       BGP Status Values: 0 - Reserved
                          1 - Prefix down synonymous with respect to SPF
                      2-254 - Undefined
                        255 the Loc-RIB specified in
      [RFC4271].

   o  Global Routing Information Base (GLOBAL-RIB) - Reserved

4.4.  BGP-LS Attribute Sequence-Number TLV

   A new BGP-LS Attribute TLV This is Routing
      Information Base (RIB) containing the current routes that are
      installed in the router's forwarding plane.  This is commonly
      referred to BGP-LS in networking parlance as "the RIB".

   o  Link State NLRI types Database (LSNDB) - Database of BGP-LS-SPF NLRI
      that facilitates access to all Node, Link, and Prefix NLRI.

   o  Candidate List (CAN-LIST) - This is defined a list of candidate Node
      NLRIs.  The list is sorted by the cost to assure reach the most recent version Node NLRI with
      the Node NLRI with the lowest reachability cost at the head of the
      list.  This facilitates execution of the Dijkstra algorithm
      Section 1.1 where the shortest paths between the local node and
      other nodes in graph area computed.  The CAN-LIST is typically
      implemented as a given NLRI heap but other data structures have been used.

   The algorithm is used in comprised of the steps below:

   1.  The current LOC-RIB is invalidated, and the CAN-LIST is
       initialized to empty.  The LOC-RIB is rebuilt during the course
       of the SPF computation.  The TBD TLV type will existing routing entries are
       preserved for comparison to determine changes that need to be defined by IANA.  The new BGP-
   LS Attribute TLV will contain an 8-octet sequence number.  The usage
   of
       made to the Sequence Number TLV GLOBAL-RIB in step 6.

   2.  The computing router's Node NLRI is described updated in Section 5.1.

       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 the LOC-RIB with a
       cost of 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Type             |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                Sequence Number (High-Order 32 Bits)           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                Sequence Number (Low-Order 32 Bits)            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Sequence Number and the Node NLRI is also added to the CAN-LIST.  The
       next-hop list is set to the internal loopback next-hop.

   3.  The 64-bit strictly increasing sequence number Node NLRI with the lowest cost is incremented removed from the candidate
       list for
   every version of processing.  If the BGP-LS NLRI originated.  BGP speakers implementing
   this specification MUST use available mechanisms to preserve Node attribute includes an
       SPF Status TLV (Section 5.2.1.2) indicating the
   sequence number's strictly increasing property for node is
       unreachable, the deployed life
   of Node NLRI is ignored and the BGP speaker (including cold restarts).  One mechanism for
   accomplishing next lowest cost
       Node NLRI is selected from candidate list.  The Node
       corresponding to this would NLRI will be referred to use as the high-order 32 bits of Current-
       Node.  If the
   sequence number as a wrap/boot count that candidate list is incremented anytime empty, the
   BGP router loses its sequence number state or SPF calculation has
       completed and the low-order 32 bits
   wrap.

   When incrementing algorithm proceeds to step 6.

   4.  All the sequence number Prefix NLRI with the same Node Identifiers as the
       Current-Node will be considered for installation.  The next-
       hop(s) for these Prefix NLRI are inherited from the Current-Node.
       The cost for each self-originated NLRI, prefix is the sequence number should metric advertised in the Prefix
       Attribute Prefix Metric TLV (1155) added to the cost to reach the
       Current-Node.  The following will be treated done for each Prefix NLRI
       (referred to as the Current-Prefix):

       *  If the BGP-LS Prefix attribute includes an unsigned 64-bit value. SPF Status TLV
          indicating the prefix is unreachable, the Current-Prefix is
          considered unreachable and the next Prefix NLRI is examined in
          Step 4.

       *  If the lower-order 32-bit value wraps, Current-Prefix's corresponding prefix is in the higher-order 32-bit value
   should be incremented LOC-RIB
          and the cost is less than the Current-Prefix's metric, the
          Current-Prefix does not contribute to the route and saved the next
          Prefix NLRI is examined in non-volatile storage. Step 4.

       *  If by some
   chance the BGP Speaker Current-Prefix's corresponding prefix is deployed long enough that there not in the
          LOC-RIB, the prefix is a
   possibility that installed with the 64-bit sequence number may wrap or a BGP Speaker
   completely loses its sequence number state (e.g., Current-Node's next-
          hops installed as the BGP speaker
   hardware LOC-RIB route's next-hops and the metric
          being updated.  If the IGP Route Tag TLV (1153) is replaced or experiences a cold-start), included in
          the phase 1
   decision function (see Section 5.1) rules will insure convergence,
   albeit, not immediately.

5.  Decision Process with SPF Algorithm

   The Decision Process described Current-Prefix's NLRI Attribute, the tag(s) are installed
          in [RFC4271] takes place the current LOC-RIB route's tag(s).

       *  If the Current-Prefix's corresponding prefix is in three
   distinct phases.  The Phase 1 decision function of the Decision
   Process LOC-RIB
          and the cost is responsible for calculating less than the degree of preference for
   each route received from a BGP speaker's peer.  The Phase 2 decision
   function current route's metric, the
          prefix is invoked on completion of installed with the Phase 1 decision function Current-Node's next-hops
          replacing the LOC-RIB route's next-hops and is responsible for choosing the best route out of all those
   available for each distinct destination, metric being
          updated and for installing each
   chosen any route into tags removed.  If the Loc-RIB.  The combination of IGP Route Tag TLV
          (1153) is included in the Phase 1 Current-Prefix's NLRI Attribute, the
          tag(s) are installed in the current LOC-RIB route's tag(s).

       *  If the Current-Prefix's corresponding prefix is in the LOC-RIB
          and 2
   decision functions the cost is characterized the same as a Path Vector algorithm.

   The SPF based Decision process replaces the BGP best-path Decision
   process described current route's metric, the
          Current-Node's next-hops will be merged with LOC-RIB route's
          next-hops.  If the IGP Route Tag TLV (1153) is included in [RFC4271].  This process starts with selecting
   only those Node the
          Current-Prefix's NLRI whose SPF capability TLV matches with Attribute, the local
   BGP speaker's SPF capability TLV value.  Since Link-State tag(s) are merged into
          the LOC-RIB route's current tags.

   5.  All the Link NLRI always
   contains with the local descriptor [RFC7752], it will only be originated
   by a single BGP speaker in same Node Identifiers as the BGP routing domain.  These selected Current-
       Node NLRI will be considered for installation.  Each link will be
       examined and their Link/Prefix NLRI are used will be referred to build a directed
   graph during in the SPF computation.  The best paths for BGP prefixes
   are installed following text as a result the
       Current-Link.  The cost of the SPF process.

   When BGP-LS-SPF NLRI is received, all that is required Current-Link is the advertised IGP
       Metric TLV (1095) from the Link NLRI BGP-LS attribute added to
   determine whether it is
       the best-path by examining cost to reach the Node-ID and
   sequence number as described in Section 5.1. Current-Node.  If the received best-
   path NLRI had changed, it Current-Node is for
       the local BGP Router, the next-hop for the link will be advertised a direct
       next-hop pointing to the corresponding local interface.  For any
       other BGP-LS-SPF
   peers.  If Current-Node, the attributes have changed (other than next-hop(s) for the sequence
   number), a BGP SPF calculation Current-Link will be scheduled.  However, a changed
   NLRI MAY
       inherited from the Current-Node.  The following will be advertised to other peers almost immediately and
   propagation done for
       each link:

       A.  The prefix(es) associated with the Current-Link are installed
           into the LOC-RIB using the same rules as were used for Prefix
           NLRI in the previous steps.  Optionally, in deployments where
           BGP-SPF routers have limited routing table capacity,
           installation of changes these subnets can approach IGP convergence times.  To
   accomplish this, be suppressed.  Suppression
           will have an operational impact as the MinRouteAdvertisementIntervalTimer IPv4/IPv6 link
           endpoint addresses will not be reachable and
   MinASOriginationIntervalTimer [RFC4271] tools such as
           traceroute will display addresses that are not applicable to reachable.

       B.  If the Current-Node NLRI attributes includes the
   BGP-LS-SPF SAFI.  Rather, SPF calculations SHOULD be triggered status
           TLV (Section 5.2.1.2) and
   dampened consistent with the SPF back-off algorithm specified in
   [RFC8405].

   The Phase 3 decision function of status indicates that the Decision Process [RFC4271] Node
           doesn't support transit, the next link for the Current-Node
           is
   also simplified since under normal processed in Step 5.

       C.  If the Current-Link's NLRI attribute includes an SPF operation, a BGP speaker would
   advertise Status
           TLV indicating the link is down, the BGP-LS-SPF Link NLRI selected is
           considered down and the next link for the SPF to all BGP peers Current-Node is
           examined in Step 5.

       D.  The Current-Link's Remote Node NLRI is accessed (i.e., the
           Node NLRI with the
   BGP-LS/BGP-LS-SPF AFI/SAFI.  Application of policy would not same Node identifiers as the Current-
           Link's Remote Node Descriptors).  If it exists, it will be
   prevented however its usage
           referred to best-path process would be limited as the SPF relies solely on link metrics.

5.1.  Phase-1 BGP NLRI Selection

   The rules for NLRI selection are greatly simplified from [RFC4271].

   1. Remote-Node and the algorithm will proceed
           as follows:

           +  If the Remote-Node's NLRI attribute includes an SPF Status
              TLV indicating the node is received from unreachable, the BGP speaker originating next link for
              the Current-Node is examined in Step 5.

           +  All the Link NLRI
       (as determined by corresponding the comparing BGP Router ID in Remote-Node will be
              searched for a Link NLRI pointing to the Current-Node.
              Each Link NLRI is examined for Remote Node
       identifiers with Descriptors
              matching the BGP speaker Router ID), then it is preferred
       over Current-Node and Link Descriptors matching
              the same Current-Link (e.g., sharing a common IPv4 or IPv6
              subnet).  If both these conditions are satisfied for one
              of the Remote-Node's links, the bi-directional
              connectivity check succeeds and the Remote-Node may be
              processed further.  The Remote-Node's Link NLRI from non-originators.  This rule providing
              bi-directional connectivity will assure
       that stale NLRI is updated even if a BGP-LS router loses its
       sequence number state due be referred to a cold-start.

   2.  If as the Sequence-Number TLV
              Remote-Link.  If no Remote-Link is present in the BGP-LS Attribute,
       then found, the NLRI with next link
              for the most recent, i.e., highest sequence number Current-Node is selected.  BGP-LS examined in Step 5.

           +  If the Remote-Link NLRI with a Sequence-Number attribute includes an SPF Status
              TLV will be
       considered more recent than NLRI without a BGP-LS Attribute or a
       BGP-LS Attribute that doesn't include indicating the Sequence-Number TLV.

   3.  The final tie-breaker link is down, the Remote-Link NLRI from is
              considered down and the BGP Speaker with next link for the
       numerically largest BGP Router ID.

   When a BGP speaker completely loses its sequence number state, i.e.,
   due to a cold start, or Current-Node is
              examined in Step 5.

           +  If the unlikely possibility that that
   sequence number wraps, Remote-Node is not on the BGP routing domain will still converge.
   This CAN-LIST, it is due to inserted
              based on the fact that BGP speakers adjacent to cost.  The Remote Node's cost is the router will
   always accept self-originated NLRI cost of
              Current-Node added the Current-Link's IGP Metric TLV
              (1095).  The next-hop(s) for the Remote-Node are inherited
              from the associated speaker as
   more recent (rule # 1).  When BGP speaker reestablishes a connection Current-Link.

           +  If the Remote-Node NLRI is already on the CAN-LIST with its peers, any existing session will a
              higher cost, it must be taken down removed and stale
   NLRI will be replaced by reinserted with the new NLRI and stale NLRI will be
   discarded independent of whether or not BGP graceful restart is
   deployed, [RFC4724].
              Remote-Node cost based on the Current-Link (as calculated
              in the previous step).  The adjacent BGP speaker will update their next-hop(s) for the Remote-
              Node are inherited from the Current-Link.

           +  If the Remote-Node NLRI
   advertisements in turn until is already on the BGP routing domain has converged.

   The modified SPF Decision Process performs an SPF calculation rooted
   at CAN-LIST with
              the BGP speaker using same cost, it need not be reinserted on the metrics from Link and Prefix CAN-LIST.
              However, the Current-Link's next-hop(s) must be merged
              into the current set of next-hops for the Remote-Node.

           +  If the Remote-Node NLRI
   Attribute TLVs [RFC7752].  As is already on the CAN-LIST with a result, any attributes that would
   influence
              lower cost, it need not be reinserted on the Decision CAN-LIST.

       E.  Return to step 3 to process defined in [RFC4271] like ORIGIN,
   MULTI_EXIT_DISC, the next lowest cost Node NLRI on
           the CAN-LIST.

   6.  The LOC-RIB is examined and LOCAL_PREF attributes changes (adds, deletes,
       modifications) are ignored by installed into the SPF
   algorithm.  Furthermore, GLOBAL-RIB.  For each route
       in the NEXT_HOP attribute value is preserved
   but otherwise ignored LOC-RIB:

       *  If the route was added during the current BGP SPF or best-path.

5.2.  Dual Stack Support

   The SPF-based decision process operates on Node, Link, and Prefix
   NLRIs that support both IPv4 and IPv6 addresses.  Whether to run a
   single computation,
          install the route into the GLOBAL-RIB.

       *  If the route modified during the current BGP SPF instance computation
          (e.g., metric, tags, or multiple SPF instances for separate AFs is a
   matter of a local implementation.  Normally, IPv4 next-hops are
   calculated for IPv4 prefixes and IPv6 next-hops are calculated for
   IPv6 prefixes.  However, an interesting use-case is deployment of
   [RFC5549] where IPv6 next-hops are calculated for both IPv4 and IPv6
   prefixes.  As stated next-hops), update the route in Section 1, support for Multiple Topology
   Routing (MTR) is an area for future study.

5.3.  SPF Calculation based on BGP-LS NLRI

   This section details the BGP-LS
          GLOBAL-RIB.

       *  If the route was not installed during the current BGP SPF local routing information base
   (RIB) calculation.  The router will use BGP-LS Node, Link,
          computation, remove the route from both the GLOBAL-RIB and Prefix
   NLRI to populate the local RIB using
          LOC-RIB.

6.4.  IPv4/IPv6 Unicast Address Family Interaction

   While the following algorithm.  This
   calculation yields BGP-LS-SPF address family and the set of intra-area IPv4/IPv6 unicast address
   families MAY install routes associated with into the
   BGP-LS domain.  A router calculates same device routing tables, they
   will operate independently much the shortest-path tree using
   itself same as the root.  Variations OSPF and optimizations of IS-IS would
   operate today (i.e., "Ships-in-the-Night" mode).  There is no
   implicit route redistribution between the algorithm
   are valid BGP address families.

   It is RECOMMENDED that BGP-LS-SPF IPv4/IPv6 route computation and
   installation be given scheduling priority by default over other BGP
   address families as long these address families are considered as underlay
   SAFIs.  Similarly, it yields is RECOMMENDED that 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 route preference or
   administrative distance give active route installation preference to section 16 of [RFC2328].

   The following abstract data structures are defined
   BGP-LS-SPF IPv4/IPv6 routes over BGP routes from other AFI/SAFIs.
   However, this preference MAY be overridden by an operator-configured
   policy.

6.5.  NLRI Advertisement

6.5.1.  Link/Prefix Failure Convergence

   A local failure will prevent a link from being used in order the SPF
   calculation due to
   specify the algorithm.

   o  Local Route Information Base (RIB) - This is abstract contains
      reachability information (i.e., next hops) for IGP bi-directional connectivity requirement.
   Consequently, local link failures SHOULD always be given priority
   over updates (e.g., withdrawing all prefixes (both
      IPv4 routes learned on a session) in
   order to ensure the highest priority propagation and IPv6) optimal
   convergence.

   An IGP such as well OSPF [RFC2328] will stop using the link as soon as the Node
   Router-LSA for one side of the link is received.  With a BGP
   advertisement, the link would continue to be used until the last copy
   of the BGP-LS-SPF Link NLRI reachability.
      Implementations may choose is withdrawn.  In order to implement avoid this as separate RIBs
   delay, the originator of the Link NLRI SHOULD advertise a more recent
   version with an increased Sequence Number TLV for
      each address family and/or Node NLRI.

   o the BGP-LS-SPF Link State
   NLRI Database (LSNDB) - Database including the SPF Status TLV (Section 5.2.2.2) indicating the
   link is down with respect to BGP SPF.  After some configurable period
   of BGP-LS time, which is an implementation dependent, e.g., 2-3 seconds, the
   BGP-LS-SPF Link NLRI can be withdrawn with no consequence.  If the
   link becomes available in that
      facilitates access to all Node, Link, and Prefix NLRI as well as
      all period, the Link and Prefix originator of the BGP-LS-
   SPF LINK NLRI corresponding to will simply advertise a given Node NLRI.
      Other optimization, such as, resolving bi-directional connectivity
      associations between more recent version of the BGP-
   LS-SPF Link NLRI are possible but without the SPF Status TLV in the BGP-LS Link
   Attributes.

   Similarly, when a prefix becomes unreachable, a more recent version
   of scope the BGP-LS-SPF Prefix NLRI will be advertised with the SPF Status
   TLV (Section 5.2.3.1) indicating the prefix is unreachable in the
   BGP-LS Prefix Attributes and the prefix will be considered
   unreachable with respect to BGP SPF.  After some configurable period
   of this
      document.

   o  Candidate List - This time, which is a list of candidate Node implementation dependent, e.g., 2-3 seconds, the
   BGP-LS-SPF Prefix NLRI can be withdrawn with no consequence.  If the
      lowest cost Node NLRI at
   prefix becomes reachable in that period, the front originator of the list.  It is typically
      implemented as BGP-
   LS-SPF Prefix NLRI will simply advertise a heap but other concrete data structures have also
      been used.

   The algorithm is comprised more recent version of the steps below:

   1.  The current local RIB is invalidated.  The local RIB is rebuilt
       during the course of
   BGP-LS-SPF Prefix NLRI without the SPF computation.  The existing routing
       entries are preserved for comparison to determine changes that
       need to be installed Status TLV in the global RIB.

   2.  The computing router's BGP-LS
   Prefix Attributes.

6.5.2.  Node NLRI is installed in the local RIB
       with a cost of 0 and as the sole entry in Failure Convergence

   With BGP without graceful restart [RFC4724], all the candidate list.

   3.  The Node NLRI with the lowest cost advertised
   by a node are implicitly withdrawn when a session failure is removed from the candidate
       list for processing.
   detected.  If the BGP-LS Node attribute includes an
       SPF Status TLV (Section 4.1.2) indicating fast failure detection such as BFD is utilized, and the
   node is
       unreachable, on the Node fastest converging path, the most recent versions of
   BGP-LS-SPF NLRI is ignored and may be withdrawn.  This will result into an older
   version of the next lowest cost
       Node NLRI is selected from candidate list.  The Node
       corresponding to this being used until the new versions arrive and,
   potentially, unnecessary route flaps.  Therefore, BGP-LS-SPF NLRI
   SHOULD always be retained before being implicitly withdrawn for a
   configurable implementation-dependent interval, e.g., 2-3 seconds.
   This will be referred to as not delay convergence since the Current
       Node.  If adjacent nodes will detect
   the candidate list is empty, link failure and advertise a more recent NLRI indicating the link
   is down with respect to BGP SPF calculation has
       completed (Section 6.5.1) and the algorithm proceeds to step 6.

   4.  All BGP SPF
   calculation will fail the Prefix NLRI with bi-directional connectivity check
   Section 6.3.

7.  Error Handling

   This section describes the same Node Identifiers Error Handling actions, as the Current described in
   [RFC7606], that are specific to SAFI BGP-LS-SPF BGP Update message
   processing.

7.1.  Processing of BGP-LS-SPF TLVs

   When a BGP speaker receives a BGP Update containing a malformed Node will be considered for installation.  The cost for each
       prefix is the metric advertised
   NLRI SPF Status TLV in the Prefix NLRI added to BGP-LS Attribute [RFC7752], it MUST ignore
   the
       cost received TLV and MUST NOT pass it to reach the Current Node.

       *  If the BGP-LS Prefix attribute includes other BGP peers as specified
   in [RFC7606].  When discarding an associated Node NLRI with a
   malformed TLV, a BGP speaker SHOULD log an error for further
   analysis.

   When a BGP speaker receives a BGP Update containing a malformed Link
   NLRI SPF Status TLV
          indicating the prefix is unreachable, the BGP-LS Prefix NLRI
          is considered unreachable and in the next BGP-LS Prefix NLRI is
          examined.

       *  If the prefix is in Attribute [RFC7752], it MUST ignore
   the local RIB received TLV and the cost is greater than
          the Current route's metric, the MUST NOT pass it to other BGP peers as specified
   in [RFC7606].  When discarding an associated Link NLRI with a
   malformed TLV, a BGP speaker SHOULD log an error for further
   analysis.

   When a BGP speaker receives a BGP Update containing a malformed
   Prefix NLRI does not
          contribute to the route and is ignored.

       *  If the prefix is SPF Status TLV 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 BGP-LS Attribute [RFC7752], it MUST
   ignore the local RIB received TLV and the cost is same MUST NOT pass it to other BGP peers as the
          current route's metric, the
   specified in [RFC7606].  When discarding an associated 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 a malformed TLV, a BGP speaker SHOULD log an error for further
   analysis.

   When a BGP speaker receives a BGP Update containing a malformed SPF
   Capability TLV in the same Node Identifiers as NLRI BGP-LS Attribute [RFC7752], it MUST
   ignore the received TLV and the Current Node will be considered for installation.  Each link will be
       examined NLRI and will be referred MUST NOT pass it to in the following text
   other BGP peers as the
       Current Link.  The cost of the Current Link is the advertised
       metric specified in the Link [RFC7606].  When discarding a Node
   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 a malformed TLV, a BGP speaker SHOULD log an error for Prefix NLRI
   further analysis.

   When a BGP speaker receives a BGP Update containing a malformed IPv4
   Prefix-Length TLV in the previous steps.

       *  If the current Node Link NLRI attributes includes BGP-LS Attribute [RFC7752], it
   MUST ignore the SPF status received TLV (Section 4.1.2) and the status indicates that the Node
          doesn't support transit, the next link for the current node is
          processed.

       * NLRI and MUST NOT pass it
   to other BGP peers as specified in [RFC7606].  The Current Link's endpoint Node corresponding Link
   NLRI is accessed (i.e., the
          Node NLRI with the same Node identifiers considered as malformed and MUST be handled as 'Treat-as-
   withdraw'.  An implementation MAY log an error for further analysis.

   When a BGP speaker receives a BGP Update containing a malformed IPv6
   Prefix-Length TLV in the Link
          endpoint).  If it exists, NLRI BGP-LS Attribute [RFC7752], it will be referred to as
   MUST ignore the received TLV and the
          Endpoint Node NLRI and the algorithm will proceed MUST NOT pass it
   to other BGP peers as follows:

          +  If the BGP-LS specified in [RFC7606].  The corresponding Link
   NLRI attribute includes an SPF Status
             TLV indicating the link is down, the BGP-LS Link considered as malformed and MUST be handled as 'Treat-as-
   withdraw'.  An implementation MAY log an error for further analysis.

7.2.  Processing of BGP-LS-SPF NLRIs

   A Link-State NLRI is MUST NOT be considered down as malformed or invalid
   based on the inclusion/exclusion of TLVs or contents of the TLV
   fields (i.e., semantic errors), as described in Section 5.1 and
   Section 5.1.1.

   A BGP-LS-SPF Speaker MUST perform the next BGP-LS Link following syntactic validation
   of the BGP-LS-SPF NLRI to determine if it is examined.

          +  All malformed.

   1.  Does the Link sum of all TLVs found in the BGP MP_REACH_NLRI attribute
       correspond to the BGP MP_REACH_NLRI length?

   2.  Does the sum of all TLVs found in the BGP MP_UNREACH_NLRI
       attribute correspond to the BGP MP_UNREACH_NLRI length?

   3.  Does the sum of all TLVs found in a BGP-LS-SPF NLRI corresponding correspond to
       the Endpoint Node Total NLRI will
             be searched for a back-link Length field of all its Descriptors?

   4.  When an NLRI pointing to TLV is recognized, is the current
             node.  Both length of the Node identifiers TLV and its
       sub-TLVs valid?

   5.  Has the Link endpoint
             identifiers in syntactic correctness of the Endpoint Node's Link NLRI must match fields been verified as
       per [RFC7606]?

   6.  Has the rule regarding ordering of TLVs been followed as
       described in Section 5.1.1?

   When the error determined allows for
             a match.  If there is no corresponding Link NLRI
             corresponding the router to skip the Endpoint Node NLRI, malformed
   NLRI(s) and continue processing of the Endpoint Node
             NLRI fails rest of the bi-directional connectivity test and is not
             processed further.

          +  If update message
   (e.g., when the Endpoint Node NLRI TLV ordering rule is not on the candidate list, violated), then it
             is inserted based on the link cost and BGP Identifier (the
             latter being used MUST handle
   such malformed NLRIs as a tie-breaker).

          +  If the Endpoint Node NLRI is already on 'Treat-as-withdraw'.  In other cases, where
   the candidate list
             with a lower cost, it need not be inserted again.

          +  If error in the Endpoint Node NLRI is already on encoding results in the candidate list
             with a higher cost, it must be removed and reinserted with
             a lower cost.

       *  Return to step 3 inability to process
   the next lowest cost Node NLRI on BGP update message (e.g., length related encoding errors), then
   the candidate list.

   6.  The local RIB is examined and changes (adds, deletes,
       modifications) router SHOULD handle such malformed NLRIs as 'AFI/SAFI disable'
   when other AFI/SAFI besides BGP-LS are installed into being advertised over the global RIB.

5.4.  NEXT_HOP Manipulation

   A BGP speaker that supports SPF extensions MAY interact with peers
   that don't support SPF extensions.  If same
   session.  Alternately, the BGP-LS address family router MUST perform 'session reset' when
   the session is only being used for BGP-LS-SPF or when its 'AFI/SAFI
   disable' action is
   advertised to a peer not supporting possible.

7.3.  Processing of BGP-LS Attribute

   A BGP-LS Attribute MUST NOT be considered as malformed or invalid
   based on the inclusion/exclusion of TLVs or contents of the SPF extensions TLV
   fields (i.e., semantic errors), as described
   herein, then the BGP speaker in Section 5.1 and
   Section 5.1.1.

   A BGP-LS-SPF Speaker MUST conform perform the following syntactic validation
   of the BGP-LS Attribute to determine if it is malformed.

   1.  Does the NEXT_HOP rules
   specified sum of all TLVs found in [RFC4271] when announcing the Link-State address family
   routes BGP-LS-SPF Attribute
       correspond to those peers.

   All BGP peers that support SPF extensions would locally compute the
   Loc-RIB next-hops as a result BGP-LS Attribute length?

   2.  Has the syntactic correctness of the SPF process.  Consequently, Attributes (including BGP-LS
       Attribute) been verified as per [RFC7606]?

   3.  Is the
   NEXT_HOP attribute length of each TLV and, when the TLV is always ignored on receipt.  However, BGP
   speakers SHOULD set recognized then,
       its sub-TLVs in the NEXT_HOP address according to BGP-LS Attribute valid?

   When the NEXT_HOP
   attribute rules specified in [RFC4271].

5.5.  IPv4/IPv6 Unicast Address Family Interaction

   While detected error allows for the router to skip the malformed
   BGP-LS SPF address family Attribute and continue processing of the IPv4/IPv6 unicast address
   families install routes into rest of the same device routing tables, they
   will operate independently much update
   message (e.g., when the same as OSPF BGP-LS Attribute length and IS-IS would
   operate today (i.e., "Ships-in-the-Night" mode).  There will be no
   implicit route redistribution between the BGP address families.
   However, implementation specific redistribution mechanisms SHOULD be
   made available with total Path
   Attribute Length are correct but some TLV/sub-TLV length within the restriction that redistribution of
   BGP-LS SPF
   routes into Attribute is invalid), then it MUST handle such malformed BGP-
   LS Attribute as 'Attribute Discard'.  In other cases, when the error
   in the IPv4 address family applies only to IPv4 routes and
   redistribution of BGP-LS SPF route into Attribute encoding results in the IPv6 address family
   applies only inability to IPv6 routes.

   Given process
   the fact BGP update message, then the handling is the same as described
   above for malformed NLRI.

   Note that SPF algorithms are based on the assumption that 'Attribute Discard' action results in the loss of all routers
   TLVs in the routing domain calculate the precisely the same
   SPF tree BGP-LS Attribute and install not the same set removal of routes, it is RECOMMENDED a specific
   malformed TLV.  The removal of specific malformed TLVs may give a
   wrong indication to a BGP-LS-SPF speaker that
   BGP-LS SPF IPv4/IPv6 routes be given priority by default when
   installed into their respective RIBs.  In common implementations the
   prioritization specific
   information is governed by route preference or administrative
   distance with lower being more preferred.

5.6.  NLRI Advertisement and Convergence

5.6.1.  Link/Prefix Failure Convergence

   A local failure will prevent deleted or is not available.

   When a link from being used BGP-LS-SPF speaker receives an update message with Link-State
   NLRI(s) in the SPF
   calculation due to MP_REACH_NLRI but without the IGP bi-directional connectivity requirement.
   Consequently, local link failures should always be given priority
   over updates (e.g., withdrawing all routes learned on BGP-LS-SPF Attribute, it
   is most likely an indication that a session) in
   order to ensure BGP-LS-SPF speaker preceding it
   has performed the highest priority propagation and optimal
   convergence. 'Attribute Discard' fault handling.  An IGP
   implementation SHOULD preserve and propagate the Link-State NLRIs in
   such as OSPF [RFC2328] will stop using an update message so that the link as soon as BGP-LS-SPF speaker can detect the
   Router-LSA for one side
   loss of the link is received.  With normal BGP
   advertisement, the link would continue link-state information for that object and not assume its
   deletion/withdrawal.  This also makes it possible for a network
   operator to be used until the last copy
   of the BGP-LS Link NLRI is withdrawn.  In order trace back to avoid this delay, the originator of BGP-LS-SPF speaker which actually
   detected a problem with the Link NLRI will advertise BGP-LS Attribute.

   An implementation SHOULD log an error for further analysis for
   problems detected during syntax validation.

   When a more recent version
   of BGP speaker receives a BGP Update containing a malformed IGP
   metric TLV in the BGP-LS Link NLRI including BGP-LS Attribute [RFC7752], it MUST
   ignore the SPF Status received TLV Section 4.2.2
   indicating and the link is down with respect Link NLRI and MUST NOT pass it to
   other BGP SPF.  After some
   configurable period of time, e.g., 2-3 seconds, the BGP-LS peers as specified in [RFC7606].  When discarding a Link
   NLRI
   can be withdrawn with no consequence.  If the link becomes available
   in that period, a malformed TLV, a BGP speaker SHOULD log an error for
   further analysis.

8.  IANA Considerations

   This document defines the originator use of SAFI (80) for BGP SPF operation
   Section 5.1, and requests IANA to assign the BGP-LS LINK NLRI will simply
   advertise a more recent version value from the First
   Come First Serve (FCFS) range in the Subsequent Address Family
   Identifiers (SAFI) Parameters registry.

   This document also defines five attribute TLVs of BGP-LS-SPF NLRI.
   We request IANA to assign types for the BGP-LS SPF capability TLV, Sequence
   Number TLV, IPv4 Link NLRI without the Prefix-Length TLV, IPv6 Link Prefix-Length TLV,
   and SPF Status TLV in from the BGP-LS "BGP-LS Node Descriptor, Link Attributes.

   Similarly, when a prefix becomes unreachable, a more recent version
   of the BGP-LS Descriptor,
   Prefix Descriptor, and Attribute TLVs" Registry.

    +-------------------------+-----------------+--------------------+
    | Attribute TLV           | Suggested Value | NLRI will be advertised with the Applicability |
    +-------------------------+-----------------+--------------------+
    | SPF Capability          | 1180            | Node               |
    | SPF Status TLV
   Section 4.3.1 indicating the prefix is unreachable in the BGP-LS              | 1184            | Node, Link, Prefix Attributes and the prefix will be considered unreachable with
   respect to BGP SPF.  After some configurable period of time, e.g.,
   2-3 seconds, the BGP-LS |
    | IPv4 Link Prefix NLRI can be withdrawn with no
   consequence.  If the prefix becomes reachable in that period, the
   originator of the BGP-LS Length | 1182            | Link               |
    | IPv6 Link Prefix Length | 1183            | Link               |
    | Sequence Number         | 1181            | Node, Link, Prefix |
    +-------------------------+-----------------+--------------------+

                       Table 1: NLRI will simply advertise Attribute TLVs

9.  Security Considerations

   This document defines a more
   recent version of BGP SAFI, i.e., the BGP-LS Prefix NLRI without BGP-LS-SPF SAFI.  This
   document does not change the SPF Status TLV underlying security issues inherent in
   the BGP-LS Prefix Attributes.

5.6.2.  Node Failure Convergence

   With BGP without graceful restart [RFC4724], all protocol [RFC4271].  The Security Considerations discussed in
   [RFC4271] apply to the NLRI advertised
   by node are implicitly withdrawn when a session failure is detected.
   If fast failure detection such BGP SPF functionality as BFD is utilized, and the node is on
   the fastest converging path, the most recent versions well.  The analysis
   of BGP-LS NLRI
   may be withdrawn while these versions are in-flight on longer paths.
   This will result the older version security issues for BGP mentioned in [RFC4272] and [RFC6952]
   also applies to this document.  The analysis of Generic Threats to
   Routing Protocols done in [RFC4593] is also worth noting.  As the NLRI being used until the
   new versions arrive and, potentially, unnecessary route flaps.
   Therefore, BGP-LS SPF NLRI SHOULD always be retained before being
   implicitly withdrawn
   modifications described in this document for a brief configurable interval, e.g., 2-3
   seconds.  This will not delay convergence since the adjacent nodes
   will detect the link failure BGP SPF apply to IPv4
   Unicast and advertise IPv6 Unicast as undelay SAFIs in a more recent NLRI
   indicating the link is down with respect to single BGP SPF Section 5.6.1 Routing
   Domain, the BGP security solutions described in [RFC6811] and
   [RFC8205] are somewhat constricted as they are meant to apply for
   inter-domain BGP where multiple BGP Routing Domains are typically
   involved.  The BGP-LS-SPF SAFI NLRI described in this document are
   typically advertised between EBGP or IBGP speakers under a single
   administrative domain.

   In the BGP-SPF calculation will failure context of the bi-directional connectivity
   check.

5.7.  Error Handling

   When BGP peering associated with this document, a
   BGP speaker receives MUST NOT accept updates from a BGP Update containing peer that is not within
   any administrative control of an operator.  That is, a malformed SPF
   Capability TLV in participating
   BGP speaker SHOULD be aware of the Node NLRI BGP-LS Attribute [RFC7752], it MUST
   ignore nature of its peering
   relationships.  Such protection can be achieved by manual
   configuration of peers at the received TLV and BGP speaker.

   In order to mitigate the Node NLRI and not pass risk of peering with BGP speakers
   masquerading as legitimate authorized BGP speakers, it is recommended
   that the TCP Authentication Option (TCP-AO) [RFC5925] be used to other
   authenticate BGP peers as specified sessions.  If an authorized BGP peer is compromised,
   that BGP peer could advertise modified Node, Link, or Prefix NLRI
   will result in [RFC7606]. misrouting, repeating origination of NLRI, and/or
   excessive SPF calculations.  When discarding a Node NLRI
   with malformed TLV, a BGP speaker SHOULD log detects that its
   self-originated NLRI is being originated by another BGP speaker, an
   appropriate error for further
   analysis.

6.  IANA should be logged so that the operator can take
   corrective action.

10.  Management Considerations

   This document defines an AFI/SAFI section includes unique management considerations for BGP-LS SPF operation and
   requests IANA to assign the BGP-LS/BGP-LS-SPF (AFI 16388 / SAFI TBD1)
   as described BGP-
   LS-SPF address family.

10.1.  Configuration

   All routers in [RFC4760].

   This document also defines five attribute TLVs for BGP-LS NLRI.  We
   request IANA to assign types for the BGP SPF capability TLV, Sequence
   Number TLV, IPv4 Link Prefix-Length TLV, IPv6 Routing Domain are under a single
   administrative domain allowing for consistent configuration.

10.1.1.  Link Prefix-Length TLV,
   and Metric Configuration

   Within a BGP SPF Status TLV Routing Domain, the IGP metrics for all advertised
   links SHOULD be configured or defaulted consistently.  For example,
   if a default metric is used for one router's links, then a similar
   metric should be used for all router's links.  Similarly, if the link
   cost is derived from using the "BGP-LS Node Descriptor, Link Descriptor,
   Prefix Descriptor, inverse of the link bandwidth on one
   router, then this SHOULD be done for all routers and Attribute TLVs" Registry.

7.  Security Considerations

   This extension the same
   reference bandwidth should be used to BGP does not change derive the underlying security issues
   inherent inversely
   proportional metric.  Failure to do so will not result in the existing [RFC4271], [RFC4724], and [RFC7752].

8.  Management Considerations

   This section includes unique management considerations for the BGP-LS
   SPF address family.

8.1.  Configuration correct
   routing based on link metric.

10.1.2.  backoff-config

   In addition to configuration of the BGP-LS SPF BGP-LS-SPF address family,
   implementations SHOULD support the "Shortest Path First (SPF) Back-
   Off Delay Algorithm for Link-State IGPs" [RFC8405].  If supported,
   configuration of the INITIAL_SPF_DELAY, SHORT_SPF_DELAY,
   LONG_SPF_DELAY, TIME_TO_LEARN, and HOLDDOWN_INTERVAL as documented in MUST be
   supported [RFC8405].

8.2.  Section 6 of [RFC8405] recommends consistent
   configuration of these values throughout the IGP routing domain and
   this also applies to the BGP SPF Routing Domain.

10.2.  Operational Data

   In order to troubleshoot SPF issues, implementations SHOULD support
   an SPF log including entries for previous SPF computations, computations.  Each SPF
   log entry would include the BGP-LS BGP-LS-SPF NLRI SPF triggering the SPF,
   SPF scheduled time, SPF start time, SPF end time, and SPF type if
   different types of SPF are supported.  Since the size of the log will
   be finite, implementations SHOULD also maintain counters for the
   total number of SPF computations of each type and the total number of SPF
   triggering events.  Additionally, to troubleshoot SPF scheduling and
   back-off [RFC8405], the current SPF back-off state, remaining
   time-to-learn, time-
   to-learn, remaining holddown, last trigger event time, last SPF time,
   and next SPF time should be available.

9.

11.  Implementation Status

   Note RFC Editor: Please remove this section and the associated
   references prior to publication.

   This section records the status of known implementations of the
   protocol defined by this specification at the time of posting of this
   Internet-Draft,
   Internet-Draft and is based on a proposal described in [RFC7942].
   The description of implementations in this section is intended to
   assist the IETF in its decision processes in progressing drafts to
   RFCs.  Please note that the listing of any individual implementation
   here does not imply endorsement by the IETF.  Furthermore, no effort
   has been spent to verify the information presented here that was
   supplied by IETF contributors.  This is not intended as, and must not
   be construed to be, a catalog of available implementations or their
   features.  Readers are advised to note that other implementations may
   exist.

   According to RFC 7942, "this will allow reviewers and working groups
   to assign due consideration to documents that have the benefit of
   running code, which may serve as evidence of valuable experimentation
   and feedback that have made the implemented protocols more mature.
   It is up to the individual working groups to use this information as
   they see fit".

   The BGP-LS SPF implementatation BGP-LS-SPF implementation status is documented in
   [I-D.psarkar-lsvr-bgp-spf-impl].

10.

12.  Acknowledgements

   The authors would like to thank Sue Hares, Jorge Rabadan, Boris
   Hassanov, Dan Frost, Matt Anderson, Fred Baker, and Lukas Krattiger
   for their review and comments.  Thanks to Pushpasis Sarkar for
   discussions on preventing a BGP SPF Router from being used for non-
   local traffic (i.e., transit traffic).

   The authors extend special thanks to Eric Rosen for fruitful
   discussions on BGP-LS SPF BGP-LS-SPF convergence as compared to IGPs.

11.

13.  Contributors

   In addition to the authors listed on the front page, the following
   co-authors have contributed to the document.

     Derek Yeung
     Arrcus, Inc.
     derek@arrcus.com

     Gunter Van De Velde
     Nokia
     gunter.van_de_velde@nokia.com

     Abhay Roy
     Arrcus, Inc.
     abhay@arrcus.com

     Venu Venugopal
     Cisco Systems
     venuv@cisco.com

     Chaitanya Yadlapalli
     AT&T
     cy098d@att.com

12.

14.  References

12.1.

14.1.  Normative References

   [I-D.ietf-idr-bgpls-segment-routing-epe]
              Previdi,

   [RFC2119]  Bradner, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271,
              DOI 10.17487/RFC4271, January 2006,
              <https://www.rfc-editor.org/info/rfc4271>.

   [RFC4272]  Murphy, S., "BGP Security Vulnerabilities Analysis",
              RFC 4272, DOI 10.17487/RFC4272, January 2006,
              <https://www.rfc-editor.org/info/rfc4272>.

   [RFC4593]  Barbir, A., Murphy, S., and J. Dong, "BGP-LS extensions Y. Yang, "Generic Threats to
              Routing Protocols", RFC 4593, DOI 10.17487/RFC4593,
              October 2006, <https://www.rfc-editor.org/info/rfc4593>.

   [RFC4750]  Joyal, D., Ed., Galecki, P., Ed., Giacalone, S., Ed.,
              Coltun, R., and F. Baker, "OSPF Version 2 Management
              Information Base", RFC 4750, DOI 10.17487/RFC4750,
              December 2006, <https://www.rfc-editor.org/info/rfc4750>.

   [RFC4760]  Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
              "Multiprotocol Extensions for Segment Routing
              BGP Egress Peer Engineering", draft-ietf-idr-bgpls-
              segment-routing-epe-19 (work in progress), May 2019.

   [RFC2119]  Bradner, S., "Key words BGP-4", RFC 4760,
              DOI 10.17487/RFC4760, January 2007,
              <https://www.rfc-editor.org/info/rfc4760>.

   [RFC5492]  Scudder, J. and R. Chandra, "Capabilities Advertisement
              with BGP-4", RFC 5492, DOI 10.17487/RFC5492, February
              2009, <https://www.rfc-editor.org/info/rfc5492>.

   [RFC5925]  Touch, J., Mankin, A., and R. Bonica, "The TCP
              Authentication Option", RFC 5925, DOI 10.17487/RFC5925,
              June 2010, <https://www.rfc-editor.org/info/rfc5925>.

   [RFC6793]  Vohra, Q. and E. Chen, "BGP Support for use in RFCs to Indicate
              Requirement Levels", BCP 14, Four-Octet
              Autonomous System (AS) Number Space", RFC 2119, 6793,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., 10.17487/RFC6793, December 2012,
              <https://www.rfc-editor.org/info/rfc6793>.

   [RFC6811]  Mohapatra, P., Scudder, J., Ward, D., Bush, R., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", R.
              Austein, "BGP Prefix Origin Validation", RFC 4271, 6811,
              DOI 10.17487/RFC4271, 10.17487/RFC6811, January 2006,
              <https://www.rfc-editor.org/info/rfc4271>. 2013,
              <https://www.rfc-editor.org/info/rfc6811>.

   [RFC7606]  Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
              Patel, "Revised Error Handling for BGP UPDATE Messages",
              RFC 7606, DOI 10.17487/RFC7606, August 2015,
              <https://www.rfc-editor.org/info/rfc7606>.

   [RFC7752]  Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
              S. Ray, "North-Bound Distribution of Link-State and
              Traffic Engineering (TE) Information Using BGP", RFC 7752,
              DOI 10.17487/RFC7752, March 2016,
              <https://www.rfc-editor.org/info/rfc7752>.

   [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>.

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S.,

   [RFC8205]  Lepinski, M., Ed. and R. Shakir, "Segment
              Routing Architecture", K. Sriram, Ed., "BGPsec Protocol
              Specification", RFC 8402, 8205, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>. 10.17487/RFC8205, September
              2017, <https://www.rfc-editor.org/info/rfc8205>.

   [RFC8405]  Decraene, B., Litkowski, S., Gredler, H., Lindem, A.,
              Francois, P., and C. Bowers, "Shortest Path First (SPF)
              Back-Off Delay Algorithm for Link-State IGPs", RFC 8405,
              DOI 10.17487/RFC8405, June 2018,
              <https://www.rfc-editor.org/info/rfc8405>.

12.2.  Information

   [RFC8654]  Bush, R., Patel, K., and D. Ward, "Extended Message
              Support for BGP", RFC 8654, DOI 10.17487/RFC8654, October
              2019, <https://www.rfc-editor.org/info/rfc8654>.

   [RFC8665]  Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
              H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
              Extensions for Segment Routing", RFC 8665,
              DOI 10.17487/RFC8665, December 2019,
              <https://www.rfc-editor.org/info/rfc8665>.

14.2.  Informational References

   [I-D.ietf-lsvr-applicability]
              Patel, K., Lindem, A., Zandi, S., and G. Dawra, "Usage and
              Applicability of Link State Vector Routing in Data
              Centers", draft-ietf-lsvr-applicability-05 (work in
              progress), March 2020.

   [I-D.psarkar-lsvr-bgp-spf-impl]
              Sarkar, P., Patel, K., Pallagatti, S., and s.
              sajibasil@gmail.com, "BGP Shortest Path Routing Extension
              Implementation Report", draft-psarkar-lsvr-bgp-spf-impl-00
              (work in progress), June 2020.

   [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328,
              DOI 10.17487/RFC2328, April 1998,
              <https://www.rfc-editor.org/info/rfc2328>.

   [RFC4456]  Bates, T., Chen, E., and R. Chandra, "BGP Route
              Reflection: An Alternative to Full Mesh Internal BGP
              (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
              <https://www.rfc-editor.org/info/rfc4456>.

   [RFC4724]  Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y.
              Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724,
              DOI 10.17487/RFC4724, January 2007,
              <https://www.rfc-editor.org/info/rfc4724>.

   [RFC4750]  Joyal, D., Ed., Galecki, P., Ed., Giacalone, S., Ed.,
              Coltun, R., and F. Baker, "OSPF Version 2 Management
              Information Base", RFC 4750, DOI 10.17487/RFC4750,
              December 2006, <https://www.rfc-editor.org/info/rfc4750>.

   [RFC4760]  Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
              "Multiprotocol Extensions for BGP-4", RFC 4760,
              DOI 10.17487/RFC4760, January 2007,
              <https://www.rfc-editor.org/info/rfc4760>.

   [RFC4790]  Newman, C., Duerst, M., and A. Gulbrandsen, "Internet
              Application Protocol Collation Registry", RFC 4790,
              DOI 10.17487/RFC4790, March 2007,
              <https://www.rfc-editor.org/info/rfc4790>.

   [RFC4915]  Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
              Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
              RFC 4915, DOI 10.17487/RFC4915, June 2007,
              <https://www.rfc-editor.org/info/rfc4915>.

   [RFC5286]  Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
              IP Fast Reroute: Loop-Free Alternates", RFC 5286,
              DOI 10.17487/RFC5286, September 2008,
              <https://www.rfc-editor.org/info/rfc5286>.

   [RFC5549]  Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network
              Layer Reachability Information with an IPv6 Next Hop",
              RFC 5549, DOI 10.17487/RFC5549, May 2009,
              <https://www.rfc-editor.org/info/rfc5549>.

   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
              <https://www.rfc-editor.org/info/rfc5880>.

   [RFC6952]  Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
              BGP, LDP, PCEP, and MSDP Issues According to the Keying
              and Authentication for Routing Protocols (KARP) Design
              Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
              <https://www.rfc-editor.org/info/rfc6952>.

   [RFC7911]  Walton, D., Retana, A., Chen, E., and J. Scudder,
              "Advertisement of Multiple Paths in BGP", RFC 7911,
              DOI 10.17487/RFC7911, July 2016,
              <https://www.rfc-editor.org/info/rfc7911>.

   [RFC7938]  Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of
              BGP for Routing in Large-Scale Data Centers", RFC 7938,
              DOI 10.17487/RFC7938, August 2016,
              <https://www.rfc-editor.org/info/rfc7938>.

   [RFC7942]  Sheffer, Y. and A. Farrel, "Improving Awareness of Running
              Code: The Implementation Status Section", BCP 205,
              RFC 7942, DOI 10.17487/RFC7942, July 2016,
              <https://www.rfc-editor.org/info/rfc7942>.

Authors' Addresses

   Keyur Patel
   Arrcus, Inc.

   Email: keyur@arrcus.com

   Acee Lindem
   Cisco Systems
   301 Midenhall Way
   Cary, NC  27513
   USA

   Email: acee@cisco.com
   Shawn Zandi
   LinkedIn
   222 2nd Street
   San Francisco, CA  94105
   USA

   Email: szandi@linkedin.com

   Wim Henderickx
   Nokia
   Antwerp
   Belgium

   Email: wim.henderickx@nokia.com