Applying BGP-LS Segment Routing over IPv6(SRv6) Extensions to BGP-LS-SPF
draft-li-lsvr-bgp-spf-srv6-06
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Li Zhang , Jie Dong , Keyur Patel , Jiawei Li , Xiaoqiu Zhang | ||
| Last updated | 2026-07-05 | ||
| Replaces | draft-li-lsvr-bgp-spf-sr | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-li-lsvr-bgp-spf-srv6-06
LSVR L. Zhang
Internet-Draft J. Dong
Intended status: Standards Track Huawei Technologies
Expires: 7 January 2027 K. Patel
Arrcus, Inc.
J. Li
China Satellite Network Innovation Research Institute Co., Ltd.
X. Zhang
China Mobile
6 July 2026
Applying BGP-LS Segment Routing over IPv6(SRv6) Extensions to BGP-LS-SPF
draft-li-lsvr-bgp-spf-srv6-06
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 Link State
Shortest Path First (BGP-LS-SPF) Routing 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 to enable SRv6 capabilities in BGP-LS-SPF.
The usages and formats of these extensions are also provided in this
document.
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 7 January 2027.
Zhang, et al. Expires 7 January 2027 [Page 1]
Internet-Draft BGP-SPF SRv6 July 2026
Copyright Notice
Copyright (c) 2026 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 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 . . . . . . . . . . . . . . . . . . . . . . . . 3
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 . . . . . . . . . . . . . . 7
2.2.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . 7
2.2.4. Maximum End D MSD Type . . . . . . . . . . . . . . . 7
2.3. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 7
3. SRv6 SIDs and Reachability . . . . . . . . . . . . . . . . . 8
4. SRv6 Link Attribute TLVs . . . . . . . . . . . . . . . . . . 9
4.1. SRv6 End.X SID TLV . . . . . . . . . . . . . . . . . . . 10
4.2. L2 Bundle Member Attributes TLV . . . . . . . . . . . . . 12
4.3. SRv6 Link MSD Types . . . . . . . . . . . . . . . . . . . 13
5. SRv6 Prefix Attribute TLVs . . . . . . . . . . . . . . . . . 13
5.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 14
6. SRv6 SID NLRI . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1. SRv6 SID Information TLV . . . . . . . . . . . . . . . . 16
7. SRv6 SID Attribute TLVs . . . . . . . . . . . . . . . . . . . 16
7.1. SRv6 Endpoint Behavior TLV . . . . . . . . . . . . . . . 17
7.2. SRv6 SID Structure TLV . . . . . . . . . . . . . . . . . 18
8. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 19
9. Security Considerations . . . . . . . . . . . . . . . . . . . 19
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.1. Normative References . . . . . . . . . . . . . . . . . . 20
12.2. Informative References . . . . . . . . . . . . . . . . . 21
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
Zhang, et al. Expires 7 January 2027 [Page 2]
Internet-Draft BGP-SPF SRv6 July 2026
1. Introduction
[RFC9815] extends BGP for Link-State (LS) distribution and the
Shortest Path First (SPF) algorithm based calculation. BGP Link
State Shortest Path First (BGP-LS-SPF) Routing 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.
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.
[RFC9085] defines extensions to the BGP-LS to carry SR information.
[RFC9514] further defines extensions to BGP-LS to advertise SRv6
segments along with their behaviors and other attributes via BGP.
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 to enable SRv6
capabilities in BGP-LS-SPF. The usages and formats of these
extensions are also provided in this document.
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
The following SRv6 Node Attributes TLVs described in [RFC9514] are
applicable to BGP-LS-SPF.
Zhang, et al. Expires 7 January 2027 [Page 3]
Internet-Draft BGP-SPF SRv6 July 2026
+======+=======================+===========+
| 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.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Zhang, et al. Expires 7 January 2027 [Page 4]
Internet-Draft BGP-SPF SRv6 July 2026
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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.
Zhang, et al. Expires 7 January 2027 [Page 5]
Internet-Draft BGP-SPF SRv6 July 2026
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:
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.
Zhang, et al. Expires 7 January 2027 [Page 6]
Internet-Draft BGP-SPF SRv6 July 2026
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.
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.
Zhang, et al. Expires 7 January 2027 [Page 7]
Internet-Draft BGP-SPF SRv6 July 2026
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:
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 SIDs and Reachability
An SRv6 SID is 128 bits and consists of locator, function, and
argument parts as described in [RFC8986].
An BGP-LS-SPF router is provisioned with algorithm-specific locators
for each algorithm supported by that router. Each locator is a
covering prefix for all SIDs provisioned on that router that have the
matching algorithm.
Zhang, et al. Expires 7 January 2027 [Page 8]
Internet-Draft BGP-SPF SRv6 July 2026
Locators MUST be advertised as BGP-LS-SPF Prefix NLRI objects along
with the SRv6 Locator TLVs (see Section 5.1) in its BGP-LS-SPF
Attribute. Forwarding entries for the locators advertised in the
BGP-LS-SPF Prefix NLRI MUST be installed in the forwarding plane of
receiving SRv6-capable routers when the associated algorithm is
supported by the receiving BGP-LS-SPF router. The processing of the
prefix of the Locator, the calculation of its reachability, and the
installation in the forwarding plane follows the process of BGP-LS-
SPF [RFC9815].
SRv6 SIDs are advertised as SRv6 SID Information TLVs (see
Section 6.1) in the SRv6 SID NLRI, except for SRv6 SIDs that are
associated with a specific neighbor/link and are therefore advertised
as SRv6 End.X SID TLV (see Section 4.1).
SRv6 SIDs received from other nodes are not directly routable and
MUST NOT be installed in the forwarding plane. Reachability to SRv6
SIDs depends upon the existence of a covering locator.
Adherence to the rules defined in this section will ensure that SRv6
SIDs associated with a supported algorithm will be forwarded
correctly, while SRv6 SIDs associated with an unsupported algorithm
will be dropped.
NOTE: The drop behavior depends on the absence of a default/summary
route covering a given locator.
4. SRv6 Link Attribute TLVs
The following Link Attributes described in [RFC9514] and [RFC9085]
are applicable to 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.
Zhang, et al. Expires 7 January 2027 [Page 9]
Internet-Draft BGP-SPF SRv6 July 2026
4.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.
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:
Zhang, et al. Expires 7 January 2027 [Page 10]
Internet-Draft BGP-SPF SRv6 July 2026
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].
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.
Zhang, et al. Expires 7 January 2027 [Page 11]
Internet-Draft BGP-SPF SRv6 July 2026
Sub-TLVs: Used to advertise sub-TLVs that provide additional
attributes for the specific SRv6 SID.
4.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.
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:
Zhang, et al. Expires 7 January 2027 [Page 12]
Internet-Draft BGP-SPF SRv6 July 2026
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].
4.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.
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].
In addition to link MSD, the link MTU also should be considered
during SRv6 TE path calculation and forwarding to avoid oversized
packets
5. SRv6 Prefix Attribute TLVs
The following BGP-LS SRv6 Prefix Attributes introduced in [RFC9514]
are applicable to BGP-LS-SPF.
+======+==================+===========+
| Type | Description | Reference |
+======+==================+===========+
| 1162 | SRv6 Locator TLV | RFC 9514 |
+------+------------------+-----------+
Table 3: Prefix Attribute TLVs for
SRv6 with BGP-LS-SPF
Zhang, et al. Expires 7 January 2027 [Page 13]
Internet-Draft BGP-SPF SRv6 July 2026
These SRv6 Prefix Attribute TLVs are advertised associated with the
BGP-LS-SPF Prefix NLRI.
5.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. If more than one locator is provisioned for a node,
then each locator is advertised as an individual BGP-LS-SPF Prefix
NLRI object along with the SRv6 Locator TLV in its BGP-LS-SPF
Attribute.
Only one SRv6 Locator TLVs SHOULD be advertised in the BGP-LS-SPF
Attribute, associating with the BGP-LS-SPF prefix NLRI.
This TLV MUST be advertised only once in the BGP-LS-SPF Attribute
associated with the BGP-LS-SPF Prefix NLRI.
When multiple SRv6 Locator TLVs are received from a given node in the
BGP-LS-SPF Attribute, the receiver MUST use the first occurrence of
the TLV.
The format of the SRv6 Locator TLV is the same as BGP-LSSection 5.1
of [RFC9514].
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
Zhang, et al. Expires 7 January 2027 [Page 14]
Internet-Draft BGP-SPF SRv6 July 2026
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 [RFC9815] specifies that the Prefix Metric (TLV 1155) MUST be
advertised associated with the prefix NLRI to be considered for route
calculation, therefore the Metric field in this TLV is no longer
usable. The Metric field in this TLV SHOULD be set to 0 and MUST be
ignored on receipt.
6. 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 are applicable to
BGP-LS-SPF SAFI:
+======+==========================+===========+
| Type | NLRI Type | Reference |
+======+==========================+===========+
| 6 | SRv6 SID NLRI | RFC 9514 |
+------+--------------------------+-----------+
| 518 | SRv6 SID Information 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.
Zhang, et al. Expires 7 January 2027 [Page 15]
Internet-Draft BGP-SPF SRv6 July 2026
6.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].
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.
7. SRv6 SID Attribute TLVs
Zhang, et al. Expires 7 January 2027 [Page 16]
Internet-Draft BGP-SPF SRv6 July 2026
7.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 the BGP-LS Attribute, the receiver MUST use the first
occurrence of the TLV.
The format of SRv6 Endpoint 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 8 of
this document. Unsupported or unrecognized behavior values are
ignored by the receiver.
Zhang, et al. Expires 7 January 2027 [Page 17]
Internet-Draft BGP-SPF SRv6 July 2026
7.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 the BGP-
LS-SPF Attribute. If it appears more than once in the BGP-LS-SPF
Attribute, then its parent SID TLV or NLRI MUST be ignored by the
receiver.
The format of SRv6 Structure 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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.
Zhang, et al. Expires 7 January 2027 [Page 18]
Internet-Draft BGP-SPF SRv6 July 2026
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].
8. Advertising 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.
+===================+==============================+=====+=======+
| 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
9. Security Considerations
This document introduces no additional security vulnerabilities in
addition to the ones as described in [RFC9552].
10. IANA Considerations
This document has no IANA actions.
11. 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.
Zhang, et al. Expires 7 January 2027 [Page 19]
Internet-Draft BGP-SPF SRv6 July 2026
12. References
12.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>.
[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>.
[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>.
[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>.
[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>.
[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>.
Zhang, et al. Expires 7 January 2027 [Page 20]
Internet-Draft BGP-SPF SRv6 July 2026
[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>.
[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>.
12.2. Informative References
[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>.
Zhang, et al. Expires 7 January 2027 [Page 21]
Internet-Draft BGP-SPF SRv6 July 2026
[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>.
Contributors
Fan Yang
China Satellite Network Innovation Research Institute Co., Ltd.
China
Email: yangf4@chinasatnet.com.cn
Authors' Addresses
Li Zhang
Huawei Technologies
No. 156 Beiqing Road
Beijing
China
Email: zhangli344@huawei.com
Jie Dong
Huawei Technologies
No. 156 Beiqing Road
Beijing
China
Email: jie.dong@huawei.com
Keyur Patel
Arrcus, Inc.
United States of America
Email: keyur@arrcus.com
Jiawei Li
China Satellite Network Innovation Research Institute Co., Ltd.
China
Email: lijw3@chinasatnet.com.cn
Xiaoqiu Zhang
China Mobile
China
Email: zhangxiaoqiu@chinamobile.com
Zhang, et al. Expires 7 January 2027 [Page 22]