



LSVR                                                            L. Zhang
Internet-Draft                                                   J. Dong
Intended status: Standards Track                     Huawei Technologies
Expires: 23 January 2026                                        K. Patel
                                                            Arrcus, Inc.
                                                            22 July 2025


Applying BGP-LS Segment Routing over IPv6(SRv6) Extensions to BGP-LS-SPF
                     draft-li-lsvr-bgp-spf-srv6-03

Abstract

   For network scenarios such as Massively Scaled Data Centers (MSDCs),
   BGP is extended for Link-State (LS) distribution and the Shortest
   Path First (SPF) algorithm based calculation.  BGP-LS-SPF leverages
   the mechanisms of both BGP protocol and BGP-LS protocol extensions.
   Segment Routing over IPv6 (SRv6) provides a source routing mechanism
   that allows a flow to be restricted to a specific topological path,
   while maintaining per-flow state only at the ingress node(s) to the
   SRv6 domain.  In some networks, it may be useful to enable SRv6 based
   source routing mechanism together with BGP-LS-SPF.  This document
   proposes to introduce the BGP Link-State (BGP-LS) extensions for SRv6
   to the BGP-LS-SPF SAFI.

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 23 January 2026.

Copyright Notice

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





Zhang, et al.            Expires 23 January 2026                [Page 1]

Internet-Draft                BGP-SPF SRv6                     July 2025


   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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  SRv6 Node Attribute TLVs  . . . . . . . . . . . . . . . . . .   3
     2.1.  SRv6 Capabilities TLV . . . . . . . . . . . . . . . . . .   4
     2.2.  SRv6 Node MSD Types . . . . . . . . . . . . . . . . . . .   5
       2.2.1.  Maximum Segments Left MSD Type  . . . . . . . . . . .   6
       2.2.2.  Maximum End Pop MSD Type  . . . . . . . . . . . . . .   6
       2.2.3.  Maximum H.Encaps MSD Type . . . . . . . . . . . . . .   6
       2.2.4.  Maximum End D MSD Type  . . . . . . . . . . . . . . .   7
     2.3.  SR-Algorithm TLV  . . . . . . . . . . . . . . . . . . . .   7
   3.  SRv6 Link Attribute TLVs  . . . . . . . . . . . . . . . . . .   8
     3.1.  SRv6 End.X SID TLV  . . . . . . . . . . . . . . . . . . .   8
     3.2.  L2 Bundle Member Attributes TLV . . . . . . . . . . . . .  10
     3.3.  SRv6 Link MSD Types . . . . . . . . . . . . . . . . . . .  11
   4.  SRv6 Prefix Attribute TLVs  . . . . . . . . . . . . . . . . .  12
     4.1.  SRv6 Locator TLV  . . . . . . . . . . . . . . . . . . . .  12
   5.  SRv6 SID NLRI . . . . . . . . . . . . . . . . . . . . . . . .  13
     5.1.  SRv6 SID Information TLV  . . . . . . . . . . . . . . . .  14
   6.  SRv6 SID Attribute TLVs . . . . . . . . . . . . . . . . . . .  15
     6.1.  SRv6 Endpoint Behavior TLV  . . . . . . . . . . . . . . .  15
     6.2.  SRv6 SID Structure TLV  . . . . . . . . . . . . . . . . .  16
   7.  Advertsing Endpoint Behaviors . . . . . . . . . . . . . . . .  17
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  18
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  18
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  18
     11.2.  Informative References . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  20

1.  Introduction

   [RFC9815] extends BGP for Link-State (LS) distribution and the
   Shortest Path First (SPF) algorithm based calculation.  BGP-LS-SPF
   leverages the mechanisms of both BGP protocol [RFC4271] and BGP-LS
   protocol extensions [RFC9552], with the extensions to BGP-LS
   attribute and new NLRI selection rules.



Zhang, et al.            Expires 23 January 2026                [Page 2]

Internet-Draft                BGP-SPF SRv6                     July 2025


   Segment Routing over IPv6 (SRv6) allows for a flexible definition of
   end-to-end paths within various topologies by encoding paths as
   sequences of topological or functional sub-paths called "segments".
   SRv6 provides a mechanism that allows a flow to be restricted to a
   specific topological path, while maintaining per-flow state only at
   the ingress node(s) to the SRv6 domain.

   In network scenarios such as Data Center networks, WAN networks or
   other networks where BGP-LS-SPF can be used as the underlay routing
   protocol, it may be useful to enable SRv6 based source routing
   mechanism for traffic engineering and optimization.  This document
   proposes to introduce the BGP Link-State (BGP-LS) extensions for SRv6
   to the BGP-LS-SPF SAFI, and discusses which SRv6 extensions can be
   applied to BGP-LS-SPF SAFI.

1.1.  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.  SRv6 Node Attribute TLVs

   Based on [RFC9514], the following SRv6 Node Attributes TLV SHOULD be
   supported in BGP-LS-SPF.

               +======+=======================+===========+
               | Type | Description           | Reference |
               +======+=======================+===========+
               | 1138 | SRv6 Capabilities TLV | RFC 9514  |
               +------+-----------------------+-----------+
               | 266  | Node MSD TLV          | RFC 8814  |
               +------+-----------------------+-----------+
               | 1035 | SR Algorithm TLV      | RFC 9085  |
               +------+-----------------------+-----------+

                  Table 1: Node Attribute TLVs for SRv6
                             with BGP-LS-SPF

   These SRv6 Node Attributes TLVs are advertised associated with the
   BGP-LS-SPF Node NLRI.








Zhang, et al.            Expires 23 January 2026                [Page 3]

Internet-Draft                BGP-SPF SRv6                     July 2025


2.1.  SRv6 Capabilities TLV

   The SRv6 Capabilities TLV defined in [RFC9514] is used to announce
   the SRv6 capabilities of the node along with the BGP-LS Node NLRI and
   indicates the SRv6 support by the node.

   For BGP-LS-SPF, it SHOULD support this TLV for a BGP-LS-SPF node to
   advertise its support for the SRv6-related capabilities.  This is an
   optional TLV of BGP-LS-SPF Node NLRI that MUST be advertised by an
   SRv6-capable node.

   This TLV MUST be advertised only once in the attributes of BGP-LS-SPF
   Node NLRI.  When multiple SRv6 Capabilities TLVs are received from a
   given node, the receiver MUST use the first occurrence of the TLV in
   the attributes of BGP-LS-SPF Node NLRI.

   If no SRv6 Capabilities TLV is advertised in the BGP-LS-SPF Node
   NLRI, then it indicates that the originator of this NLRI does not
   support SRv6.

   The format and flags of SRv6 Capabilities TLV of BGP-LS-SPF is
   consistent with that in BGP-LS.  The format of BGP-LS-SPF SRv6
   Capability TLV is shown as follow:

    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Flags             |            Reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 1: SRv6 Capability TLV format

   where:

   Type: 1038

   Length: 4

   Flags: 2-octet field. the following flags are defined:

   0                   1
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | |O|       Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




Zhang, et al.            Expires 23 January 2026                [Page 4]

Internet-Draft                BGP-SPF SRv6                     July 2025


   where:

   O-flag: If set, the node supports use of the O-bit in the SRH, as
   defined in [RFC9259].

   Other flags are not defined and are reserved for future use.  They
   MUST be set to 0 on transmission and MUST be ignored on receipt.

   Reserved: 2-octet field that MUST be set to 0 when originated and
   ignored on receipt.

2.2.  SRv6 Node MSD Types

   The Node MSD TLV defined in [RFC8814] is used to advertise the limits
   and the Segment Routing Header (SRH) operations supported by the
   SRv6-capable node in BGP-LS.

   For BGP-LS-SPF, different SRv6-capable node may have different limits
   related to SRH processing, therefore, BGP-LS-SPF SHOULD support this
   TLV for nodes to advertise the limits and operations.

   The SRv6 Node MSD TLV is an optional TLV of BGP-LS-SPF Node Attribute
   that MAY be advertised by an SRv6-capable node.

   This TLV MUST be advertised only once in the attributes of BGP-LS-SPF
   Node NLRI.  When multiple SRv6 Node MSD TLVs are received from a
   given node, the receiver MUST use the first occurrence of the TLV in
   the attributes of BGP-LS-SPF Node NLRI.

   The MSD types for SRv6 that are defined in Section 4 of [RFC9352] for
   IS-IS are also used by BGP-LS-SPF.  These MSD types are allocated in
   the "IGP MSD-Types" registry maintained by IANA and are shared by IS-
   IS, OSPF, and BGP-LS-SPF.  They are described in the subsections
   below.

   The format of this TLV is the same as that in BGP-LS:

      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            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    MSD-Type   |  MSD-Value    |  MSD-Type...  |  MSD-Value... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 2: SRv6 Node MSD TLV format

   where:



Zhang, et al.            Expires 23 January 2026                [Page 5]

Internet-Draft                BGP-SPF SRv6                     July 2025


   Type: 266.

   Length: variable, represents the total length of the value field in
   octets.

   Value: consists of one or more pairs of a 1-octet MSD-Type and
   1-octet MSD-Value.  The detail description of MSD-Type and MSD-Value
   is in Section 3 of [RFC8814].

   Node MSD is the smallest MSD supported by the node on the set of
   interfaces configured for use by the advertising BGP-LS-SPF instance.
   MSD values may be learned via a hardware API or may be provisioned.

   If there are multiple MSD-Types that have the same code point in a
   Node MSD TLV, then the Node MSD TLV MUST be ignored by the receiver.

2.2.1.  Maximum Segments Left MSD Type

   The Maximum Segments Left MSD Type signals the maximum value of the
   Segments Left field in the SRH of a received packet before applying
   the Endpoint behavior associated with a SID.

   If no value is advertised, the supported value is assumed to be 0.

2.2.2.  Maximum End Pop MSD Type

   The Maximum End Pop MSD Type signals the maximum number of SIDs in
   the SRH to which the node can apply "Penultimate Segment Pop (PSP) of
   the SRH" or "Ultimate Segment Pop (USP) of the SRH" behaviors, which
   defined in Section 4.16 of [RFC8986].

   If the advertised value is zero or no value is advertised, then the
   node cannot apply the PSP or USP flavors.

2.2.3.  Maximum H.Encaps MSD Type

   The Maximum H.Encaps MSD Type signals the maximum number of SIDs that
   can be added as part of the H.Encaps behavior as defined in
   [RFC8986].

   If the advertised value is zero or no value is advertised, then the
   headend can apply an SR Policy that only contains one segment without
   inserting any SRH.

   A non-zero SRH Max H.Encaps MSD indicates that the headend can insert
   an SRH with SIDs up to the advertised value.





Zhang, et al.            Expires 23 January 2026                [Page 6]

Internet-Draft                BGP-SPF SRv6                     July 2025


2.2.4.  Maximum End D MSD Type

   The Maximum End D MSD Type specifies the maximum number of SIDs
   present in an SRH when performing decapsulation.  These include, but
   are not limited to, End.DX6, End.DT4, End.DT46, End with USD, and
   End.X with USD as defined in [RFC8986].

   If the advertised value is zero or no value is advertised, then the
   node cannot apply any behavior that results in decapsulation and
   forwarding of the inner packet when the outer IPv6 header contains an
   SRH.

2.3.  SR-Algorithm TLV

   [RFC9514] specifies that the algorithm support for SRv6 is advertised
   via the SR-Algorithm TLV specified in [RFC9085].  The SR-Algorithm is
   used to advertise the SR algorithms supported by the node.

   This TLV is a basic TLV of SR and SHOULD be supported in BGP-LS-SPF.
   The SR-Algorithm TLV is an optional TLV of BGP-LS-SPF Node Attribute
   that MAY be advertised by an SRv6-capable node.

   This TLV MUST be advertised only once in the attributes of BGP-LS-SPF
   Node NLRI.  If a node receiving multiple SR-Algorithm TLVs in the
   BGP-LS-SPF Node Attribute, the receiver MUST use the first occurrence
   of the TLV in the attributes of BGP-LS-SPF Node NLRI.

   If a SRv6-capable node does not advertise the SR-Algorithm TLV, it
   implies that algorithm 0 is the only algorithm supported by the node.

   If the originating node does advertise the SR-Algorithm sub-TLV, then
   algorithm 0 MUST be present while non-zero algorithms MAY be present.

   The format of Algorithm fields in this TLV is consistent with that in
   BGP-LS, as defined in Section 2.1.3 of [RFC9085].

     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    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Algorithm 1   |  Algorithm 2  | Algorithm ... |  Algorithm n  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 3: SRv6 Algorithm TLV format

   where:




Zhang, et al.            Expires 23 January 2026                [Page 7]

Internet-Draft                BGP-SPF SRv6                     July 2025


   Type: 1035

   Length: Variable

   Algorithm: 1 octet of algorithm.

   The algorithm values are allocated in the "IGP Algorithm Type"
   registry defined in [RFC8665], these values are shared by IS-IS,
   OSPF, and BGP-LS-SPF.

3.  SRv6 Link Attribute TLVs

   Based on [RFC9514] and [RFC9085], the following Link Attributes
   SHOULD be supported in BGP-LS-SPF.

          +======+=================================+===========+
          | Type | Description                     | Reference |
          +======+=================================+===========+
          | 1106 | SRv6 End.X SID TLV              | RFC 9514  |
          +------+---------------------------------+-----------+
          | 1106 | L2 Bundle Member Attributes TLV | RFC 9085  |
          +------+---------------------------------+-----------+
          | 267  | SRv6 Link MSD TLV               | RFC 8814  |
          +------+---------------------------------+-----------+

          Table 2: Link Attribute TLVs for SRv6 with BGP-LS-SPF

   These SRv6 Link Attribute TLVs are advertised associated with the
   BGP-LS-SPF Link NLRI.

3.1.  SRv6 End.X SID TLV

   The SRv6 End.X SID TLV defined in [RFC9514] is used to advertise the
   SRv6 SIDs associated with an IGP Adjacency SID behavior that
   correspond to a point-to-point or point-to-multipoint link or
   adjacency of the node running the IS-IS or OSPFv3 protocols.  It is
   also used by BGP-LS to advertise the BGP EPE Peer Adjacency SID for
   SRv6 on the same lines as specified for SR-MPLS in [RFC9086].

   BGP-LS-SPF SHOULD support this TLV to advertise the SRv6 SIDs
   correspond to a point-to-point or adjacency of the node running the
   BGP-LS-SPF.

   The SRv6 End.X SID TLV is an optional TLV of BGP-LS-SPF Link
   Attribute that MAY be advertised by an SRv6-capable node.






Zhang, et al.            Expires 23 January 2026                [Page 8]

Internet-Draft                BGP-SPF SRv6                     July 2025


   More than one instance of this TLV (one for each SRv6 End.X SID) can
   be included in the BGP-LS-SPF Attribute.  Multiple SRv6 End.X SID
   TLVs MAY be associated with the same adjacency.

   Every SRv6-enabled node SHOULD instantiate at least one unique SRv6
   End.X SID corresponding to each of its neighbors, although it MAY
   omit doing so if features like TE or TI-LFA that require End.X SID
   are not in use.

   All End.X SIDs MUST be a subnet of a locator with matching algorithm
   that is advertised by the same BGP-LS-SPF node in an SRv6 Locator
   TLV.  End.X SIDs that do not meet this requirement MUST be ignored.
   This ensures that the BGP-LS-SPF node advertising the End.X is also
   advertising its corresponding locator with the algorithm that will be
   used for computing paths destined to the SID.

   The format of this TLV is the same as in BGP-LS:

    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Endpoint Behavior      |      Flags    |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Weight    |   Reserved    |  SID (16 octets) ...          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)                                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)                                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)                                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)             | Sub-TLVs (variable) . . .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 4: SRv6 End.X SID TLV format

   where:

   Type: 1106

   Length: variable

   Endpoint Behavior: 2-octet field.  The Endpoint behavior code point
   for this SRv6 SID as defined in Section 10.2 of [RFC8986].





Zhang, et al.            Expires 23 January 2026                [Page 9]

Internet-Draft                BGP-SPF SRv6                     July 2025


   Flags: 1 octet.  The definition of flags are same as that in IS-IS
   SRv6 End.X SID sub-TLV (Section 8.1 of [RFC9352]) and the OSPFv3 SRv6
   End.X SID sub-TLV (Section 9.1 of [RFC9513]).

   Algorithm: 1-octet field.  Algorithm associated with the SID.  The
   algorithm associated with the SRv6 Locator from which the SID is
   allocated.

   Weight: 1-octet field.  The value represents the weight of the SID
   for the purpose of load balancing.  The use of the weight is defined
   in [RFC8402].

   Reserved: 1-octet field that MUST be set to 0 when originated and
   ignored on receipt.

   SID: 16-octet field.  This field encodes the advertised SRv6 SID as a
   128-bit value.

   Sub-TLVs: Used to advertise sub-TLVs that provide additional
   attributes for the specific SRv6 SID.

3.2.  L2 Bundle Member Attributes TLV

   The L2 Bundle Member Attributes TLV is defined in [RFC9085], it
   identifies an L2 Bundle Member link, which in turn is associated with
   a parent L3 link.  This TLV is useful when entities external to BGP-
   LS-SPF wish to control traffic flows on the individual physical links
   that comprise the Layer 2 interface bundle.

   The network deployed BGP-LS-SPF may include trunk links.  Therefore,
   BGP-LS-SPF MAY support this TLV to advertise L2 bundle member link
   attributes.

   The L2 Bundle Member Attributes TLV is an optional TLV of BGP-LS-SPF
   Link Attribute with BGP-LS-SPF Link NLRI that MAY be advertised by an
   SRv6-capable node.

   This TLV MAY include sub-TLVs that describe attributes associated
   with the bundle member.  The identified bundle member represents a
   unidirectional path from the originating node to the neighbor
   specified in the parent L3 link.

   Multiple L2 Bundle Member Attributes TLVs MAY be associated with a
   BGP-LS-SPF Link NLRI.







Zhang, et al.            Expires 23 January 2026               [Page 10]

Internet-Draft                BGP-SPF SRv6                     July 2025


   Advertisement of this TLV implies that the identified link is a
   member of the L2 Bundle associated with the Parent L3 Link, and the
   member link is operationally up.  Therefore, advertisements MUST be
   withdrawn if the link becomes operationally down or it is no longer a
   member of the identified L2 Bundle.

   The format of this TLV is the same as that in BGP-LS:

    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     L2 Bundle Member Descriptor               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Link Attribute Sub-TLVs(variable)          //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 5: L2 Bundle Member Attributes TLV format

   Where:

   Type: 1172

   Length: Variable.

   L2 Bundle Member Descriptor: 4-octet field that carries a link-local
   identifier as defined in [RFC4202].

   Link attribute Sub-TLVs: variable, the detail description of these
   Sub-TLVs is specified in Section 2.2.3 of [RFC9085].

3.3.  SRv6 Link MSD Types

   The Link MSD TLV defined in [RFC8814] is used to advertise the limits
   and the SRH operations supported on the specific link by the
   SRv6-capable node.  BGP-LS-SPF SHOULD support this TLV to advertise
   the limits and operations supported on the specific link to enable
   segment routing.  The SRv6 MSD types specified in Section 4 of
   [RFC9352] are also used with the BGP-LS-SPF Link MSD TLV, as these
   code points are shared between the IS-IS, OSPF, and BGP-LS-SPF.

   The SRv6 Node MSD TLV is an optional TLV of BGP-LS-SPF Link
   Attributes that MAY be advertised by an SRv6-capable node.







Zhang, et al.            Expires 23 January 2026               [Page 11]

Internet-Draft                BGP-SPF SRv6                     July 2025


   This TLV MUST be advertised only once in the attributes of BGP-LS-SPF
   Link NLRI.  When multiple SRv6 Link MSD TLVs are received from a
   given node, the receiver MUST use the first occurrence of the TLV in
   the attributes of BGP-LS-SPF Link NLRI.

   The format and different MSD Types of SRv6 Link MSD TLV is the same
   as Section 2.2, the Type of Link MSD TLV is 267[RFC8814].

4.  SRv6 Prefix Attribute TLVs

   Based on [RFC9514], the BGP-LS SRv6 Prefix Attributes only includes
   the SRv6 Locator TLV.  This TLV SHOULD be supported by BGP-LS-SPF.

                  +======+==================+===========+
                  | Type | Description      | Reference |
                  +======+==================+===========+
                  | 1162 | SRv6 Locator TLV | RFC 9514  |
                  +------+------------------+-----------+

                     Table 3: Prefix Attribute TLVs for
                            SRv6 with BGP-LS-SPF

   These SRv6 Prefix Attribute TLVs are advertised associated with the
   BGP-LS-SPF Prefix NLRI.

4.1.  SRv6 Locator TLV

   The SRv6 Locator TLV defined in [RFC9514] is used to advertise the
   locators supported by each node.  Locator is the key component of
   SRv6 SID, BGP-LS-SPF SHOULD support this TLV to enable segment
   routing.

   A node is provisioned with one or more locators supported by that
   node.  Locators are covering prefixes for the set of SIDs provisioned
   on that node.  Each locator is advertised as a BGP-LS-SPF Prefix NLRI
   object along with the SRv6 Locator TLV in its BGP-LS-SPF Attribute.

   Multiple SRv6 Locator TLVs MAY be advertised in the BGP-LS-SPF
   Attribute.  Each locator is advertised in a SRv6 Locator TLV.

   When multiple SRv6 Locator TLVs are received from a given node in an
   BGP-LS-SPF prefix NLRI for the same locator, the receiver MUST use
   the first occurrence of the TLV in the NLRI.

   The format of the SRv6 Locator TLV is the same as BGP-LSSection 5.1
   of [RFC9514].





Zhang, et al.            Expires 23 January 2026               [Page 12]

Internet-Draft                BGP-SPF SRv6                     July 2025


    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Flags    |   Algorithm   |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Metric                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Sub-TLVs (variable) . . .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 6: SRv6 Locator TLV format

   where:

   Type: 1162

   Length: variable

   Flags: 1 octet of flags.  Currently, the flags field is not used and
   MUST be set to zero on transmission and MUST be ignored on receipt.

   Algorithm: 1-octet field.  Algorithm associated with the SID, as
   defined in the "IGP Algorithm Types" registry [RFC8665].

   Reserved: 2-octet field.  The value MUST be set to 0 when originated
   and ignored on receipt.

   Metric: 4-octet field.  The value of the metric for the locator.

   Sub-TLVs: Used to advertise sub-TLVs that provide additional
   attributes for the given SRv6 Locator.  Currently, none are defined.

   Since BGP-LS-SPF defines the Prefix Metric TLV is mandatory for
   Prefix NLRI, so the Metric field in this TLV is no longer usable.  It
   SHOULD be set to 0 and MUST be ignored on receipt.

5.  SRv6 SID NLRI

   The SRv6 SID NLRI defined in [RFC9514] is used to carry the SRv6 SID
   information.  When SRv6 SIDs need to be advertised in BGP-SPF, the
   following NLRI type and attributes TLV for SRv6 SID SHOULD be
   supported in BGP-LS-SPF SAFI:







Zhang, et al.            Expires 23 January 2026               [Page 13]

Internet-Draft                BGP-SPF SRv6                     July 2025


             +======+============================+===========+
             | Type | NLRI Type                  | Reference |
             +======+============================+===========+
             | 6    | SRv6 SID NLRI              | RFC 9514  |
             +------+----------------------------+-----------+
             | 518  | SRv6 SID Information TLV   | RFC 9514  |
             +------+----------------------------+-----------+
             | 1250 | SRv6 Endpoint Behavior TLV | RFC 9514  |
             +------+----------------------------+-----------+

                   Table 4: SRv6 SID NLRI with BGP-LS-SPF

   The format of SRv6 SID NLRI is the same as that in BGP-LSSection 6 of
   [RFC9514].

   An SRv6-enabled node SHOULD advertise at least one SRv6 SID
   associated with an End behavior encapsulated in the SRv6 NLRI for
   itself as specified in [RFC8986].

   An SRv6-enabled node MAY advertise multiple instances of the SRv6 SID
   NLRI -- one for each of the SRv6 SIDs to be advertised.

5.1.  SRv6 SID Information TLV

   The SRv6 SID Information TLV is used to carry the SRv6 SID that do
   not require a particular neighbor in a SRv6 SID NLRI.  This TLV
   SHOULD be supported in BGP-LS-SPF to advertise SRv6 SIDs of each
   node.

   SRv6 SID Information TLV is a mandatory TLV in SRv6 NLRI.  For each
   SRv6 SID NLRI, it MUST contain a single SRv6 SID Information TLV.

   When multiple SRv6 SID Information TLVs are received from a given
   node in an BGP-LS-SPF SRv6 SID NLRI for the same SID, the receiver
   MUST use the first occurrence of the TLV in the NLRI.

   The format of SRv6 SID Information TLV is the same as Section 6.1 of
   [RFC9514].













Zhang, et al.            Expires 23 January 2026               [Page 14]

Internet-Draft                BGP-SPF SRv6                     July 2025


    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (16 octets) ...                                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)                                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)                                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SID (cont ...)                                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 7: SRv6 SID Information TLV format

   where:

   Type: 518

   Length: 16

   SID: 16-octet field.  This field encodes the advertised SRv6 SID as a
   128-bit value.

   The SRv6 SID MUST be allocated from its associated locator.  SRv6
   SIDs that are NOT allocated from the associated locator MUST be
   ignored.

6.  SRv6 SID Attribute TLVs

6.1.  SRv6 Endpoint Behavior TLV

   The Endpoint Behavior TLV defined in [RFC9514] is used to advertise
   the behaviors associated with a SID.  The BGP-LS-SPF SHOULD support
   this TLV to enable the advertisement of behaviors associated with a
   SRv6 SID.

   The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be
   included once in the BGP-LS Attribute associated with the BGP-LS-SPF
   SRv6 SID NLRI.

   When multiple SRv6 Endpoint Behavior TLVs are received from a given
   node in an BGP-LS-SPF SRv6 SID NLRI, the receiver MUST use the first
   occurrence of the TLV in the NLRI.

   The format of SRv6 Endpoint is the same as that in BGP-LS.




Zhang, et al.            Expires 23 January 2026               [Page 15]

Internet-Draft                BGP-SPF SRv6                     July 2025


    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Endpoint Behavior      |      Flags    |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 8: SRv6 Endpoint Behavior TLV format

   Where:

   Type: 1250

   Length: 4

   Endpoint Behavior: 2-octet field.  The Endpoint behavior code point
   for this SRv6 SID.

   Flags: 1 octet of flags.  No flags are currently defined, and this
   field MUST be set to 0 on transmission and MUST be ignored on
   receipt.

   Algorithm: 1-octet field.  Algorithm associated with the SID.

   Supported behavior values for this TLV are defined in Section 7 of
   this document.  Unsupported or unrecognized behavior values are
   ignored by the receiver.

6.2.  SRv6 SID Structure TLV

   The SRv6 SID Structure TLV defined in [RFC9514] is used to advertise
   the length of each individual part of the SRv6 SID as defined in
   [RFC8986].  BGP-LS-SPF MAY support this TLV to indicate the length of
   each individual part of the SRv6 SID of BGP-LS-SPF, which is useful
   in some scenarios using compressed SID.

   It is an optional TLV that MAY be used in the BGP-LS-SPF Attribute
   for SRv6 SID NLRI and as a sub-TLV of the SRv6 End.X SID TLV.

   The SRv6 SID Structure TLV MUST NOT appear more than once in its
   parent TLV.  If it appears more than once in its parent TLV, the
   parent TLV MUST be ignored by the receiver.

   The format of SRv6 Structure TLV is the same as that in BGP-LS.






Zhang, et al.            Expires 23 January 2026               [Page 16]

Internet-Draft                BGP-SPF SRv6                     July 2025


    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    LB Length  |  LN Length    | Fun. Length   |  Arg. Length  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 9: SRv6 SID Structure TLV format

   where:

   Type: 1252

   Length: 4

   LB Length: 1-octet field.  SRv6 SID Locator Block length in bits.

   LN Length: 1-octet field.  SRv6 SID Locator Node length in bits.

   Fun. Length: 1-octet field.  SRv6 SID Function length in bits.

   Arg. Length: 1-octet field.  SRv6 SID Argument length in bits.

   The sum of all four sizes advertised in SRv6 SID Structure TLV MUST
   be less than or equal to 128 bits.  If the sum of all four sizes
   advertised in the SRv6 SID Structure sub-TLV is larger than 128 bits,
   the parent TLV or NLRI MUST be ignored by the receiver.

   The SRv6 SID Structure sub-TLV is intended for informational use by
   the control and management planes.  It MUST NOT be used at a transit
   node (as defined in [RFC8754]) for forwarding packets.  The typical
   use cases for this information are described in the Section 10 of
   [RFC9513] and Section 9 of [RFC9352].

7.  Advertsing Endpoint Behaviors

   Endpoint behaviors are defined in [RFC8986].  The code points for the
   Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors"
   registry of [RFC8986].  This section lists the Endpoint behaviors and
   their code points, which MAY be advertised by BGP-LS-SPF and the TLVs
   in which each type MAY appear.









Zhang, et al.            Expires 23 January 2026               [Page 17]

Internet-Draft                BGP-SPF SRv6                     July 2025


    +===================+==============================+=====+=======+
    | Endpoint Behavior | Endpoint Behavior Code Point | End | End.X |
    |                   |                              | SID | SID   |
    +===================+==============================+=====+=======+
    | End(PSP, USP,     | 1-4, 28-31                   | Y   | N     |
    | USD)              |                              |     |       |
    +-------------------+------------------------------+-----+-------+
    | End.X(PSP, USP,   | 5-8, 32-35                   | N   | Y     |
    | USD)              |                              |     |       |
    +-------------------+------------------------------+-----+-------+

              Table 5: SRv6 Endpoint Behaviors in BGP-LS-SPF

8.  Security Considerations

   This document introduces no additional security vulnerabilities in
   addition to the ones as described in [RFC9552].

9.  IANA Considerations

   This document has no IANA actions.

10.  Acknowledgements

   This document refers extensively to the content of [RFC9514],
   [RFC9513], [RFC9352], and [RFC9085].  The authors would like to thank
   the authors of these RFCs, they are James Uttaro, Hani Elmalky, Arjun
   Sreekantiah, Les Ginsberg, Shunwan Zhuang, Zhenbin Li, Zhibo Hu,
   Ketan Talaulikar, Peter Psenak, Clarence Filsfils, Ahmed Bashandy,
   Bruno Decraene, Stefano Previdi, Hannes Gredler, and Mach(Guoyi)
   Chen.

   The authors also would like to thank Acee Lindem for his valuable
   comments and suggestions.

11.  References

11.1.  Normative References

   [RFC9815]  Patel, K., Lindem, A., Zandi, S., and W. Henderickx, "BGP
              Link State (BGP-LS) Shortest Path First (SPF) Routing",
              RFC 9815, DOI 10.17487/RFC9815, July 2025,
              <https://www.rfc-editor.org/info/rfc9815>.

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



Zhang, et al.            Expires 23 January 2026               [Page 18]

Internet-Draft                BGP-SPF SRv6                     July 2025


   [RFC9552]  Talaulikar, K., Ed., "Distribution of Link-State and
              Traffic Engineering Information Using BGP", RFC 9552,
              DOI 10.17487/RFC9552, December 2023,
              <https://www.rfc-editor.org/info/rfc9552>.

   [RFC2119]  Bradner, S., "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>.

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

   [RFC9514]  Dawra, G., Filsfils, C., Talaulikar, K., Ed., Chen, M.,
              Bernier, D., and B. Decraene, "Border Gateway Protocol -
              Link State (BGP-LS) Extensions for Segment Routing over
              IPv6 (SRv6)", RFC 9514, DOI 10.17487/RFC9514, December
              2023, <https://www.rfc-editor.org/info/rfc9514>.

   [RFC8814]  Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G.,
              and N. Triantafillis, "Signaling Maximum SID Depth (MSD)
              Using the Border Gateway Protocol - Link State", RFC 8814,
              DOI 10.17487/RFC8814, August 2020,
              <https://www.rfc-editor.org/info/rfc8814>.

   [RFC9352]  Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B.,
              and Z. Hu, "IS-IS Extensions to Support Segment Routing
              over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352,
              February 2023, <https://www.rfc-editor.org/info/rfc9352>.

   [RFC9085]  Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler,
              H., and M. Chen, "Border Gateway Protocol - Link State
              (BGP-LS) Extensions for Segment Routing", RFC 9085,
              DOI 10.17487/RFC9085, August 2021,
              <https://www.rfc-editor.org/info/rfc9085>.

   [RFC9513]  Li, Z., Hu, Z., Talaulikar, K., Ed., and P. Psenak,
              "OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)",
              RFC 9513, DOI 10.17487/RFC9513, December 2023,
              <https://www.rfc-editor.org/info/rfc9513>.

11.2.  Informative References








Zhang, et al.            Expires 23 January 2026               [Page 19]

Internet-Draft                BGP-SPF SRv6                     July 2025


   [RFC9259]  Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M.
              Chen, "Operations, Administration, and Maintenance (OAM)
              in Segment Routing over IPv6 (SRv6)", RFC 9259,
              DOI 10.17487/RFC9259, June 2022,
              <https://www.rfc-editor.org/info/rfc9259>.

   [RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
              D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
              (SRv6) Network Programming", RFC 8986,
              DOI 10.17487/RFC8986, February 2021,
              <https://www.rfc-editor.org/info/rfc8986>.

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

   [RFC9086]  Previdi, S., Talaulikar, K., Ed., Filsfils, C., Patel, K.,
              Ray, S., and J. Dong, "Border Gateway Protocol - Link
              State (BGP-LS) Extensions for Segment Routing BGP Egress
              Peer Engineering", RFC 9086, DOI 10.17487/RFC9086, August
              2021, <https://www.rfc-editor.org/info/rfc9086>.

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>.

   [RFC4202]  Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions
              in Support of Generalized Multi-Protocol Label Switching
              (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005,
              <https://www.rfc-editor.org/info/rfc4202>.

   [RFC8754]  Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
              <https://www.rfc-editor.org/info/rfc8754>.

Authors' Addresses

   Li Zhang
   Huawei Technologies
   No. 156 Beiqing Road
   Beijing
   China
   Email: zhangli344@huawei.com




Zhang, et al.            Expires 23 January 2026               [Page 20]

Internet-Draft                BGP-SPF SRv6                     July 2025


   Jie Dong
   Huawei Technologies
   No. 156 Beiqing Road
   Beijing
   China
   Email: jie.dong@huawei.com


   Keyur Patel
   Arrcus, Inc.
   Email: keyur@arrcus.com








































Zhang, et al.            Expires 23 January 2026               [Page 21]
