Applying BGP-LS Segment Routing Extensions to BGP-LS SPF
Internet-Draft draft-li-lsvr-bgp-spf-sr-00
Li Zhang
Huawei Technologies
No. 156 Beiqing Road
Beijing
China
zhangli344@huawei.com
Jie Dong
Huawei Technologies
No. 156 Beiqing Road
Beijing
China
jie.dong@huawei.com
21 October 2024
Routing
IDR
Internet-Draft
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 (SR) 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 SR domain. In some networks, it may be useful to enable SR based source routing mechanism together with BGP-LS SPF. This document proposes to introduce the BGP Link-State (BGP-LS) extensions for segment routing to the BGP-LS SPF SAFI.
Introduction
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 [RFC4271] and BGP-LS protocol extensions [RFC9552], with the extensions to BGP-LS attribute and new NLRI selection rules defined in [I-D.ietf-lsvr-bgp-spf].
Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". SR 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 SR domain. SR can be applied to the MPLS architecture (SR-MPLS) as defined in [RFC8660], and can also be applied to the IPv6 architecture (SRv6) as defined in [RFC8754] and [RFC8986].
In networks where BGP-LS-SPF is used as the underlay routing protocol, it may be useful to enable SR based source routing mechanism for traffic engineering and optimization. This document proposes to introduce the BGP Link-State (BGP-LS) extensions for segment routing to the BGP-LS-SPF SAFI. Both the extensions for SR-MPLS and SRv6 are specified.
In general, most of the BGP-LS extensions for SR can be applied to BGP-LS SPF SAFI, only a few extensions are not applicable to BGP-LS SPF. For accuracy and documentation, the following subsections list the BGP-LS SR extensions which are introduced to BGP-LS SPF.
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.
SR-MPLS TLVs applicable to BGP-LS SPF
When SR-MPLS is enabled in BGP-LS SPF, The following TLVs SHOULD be supported.
SR-MPLS Node Attribute TLVs
Node Attribute TLVs for SR-MPLS with BGP-LS SPF
Type | Description | Reference
1161 | SID/Label | RFC 9085
1034 | SR Capabilities | RFC 9085
1035 | SR Algorithm | RFC 9085
1036 | SR Local Block | RFC 9085
1037 | SRMS Preference | RFC 9085
SR-MPLS Link Attribute TLVs
The following Link Attribute TLVs SHOULD be supported:
Link Attribute TLVs for SR-MPLS with BGP-LS SPF
Type | Description | Reference
1099 | Adjacency SID TLV | RFC 9085
1172 | L2 Bundle Member Attributes TLV | RFC 9085
SR-MPLS Prefix Attribute TLVs
Prefix Attribute TLVs for SR-MPLS with BGP-LS SPF
Type | Description | Reference
1158 | Prefix-SID | RFC 9085
1159 | Range | RFC 9085
1170 | Prefix Attribute Flags | RFC 9085
1171 | Source Router Identifier | RFC 9085
1174 | Source OSPF Router-ID | RFC 9085
SRv6 Extensions Applicable to BGP-LS SPF
When SRv6 is enabled with BGP-LS SPF, The following extensions SHOULD be supported.
SRv6 Node Attribute TLVs
The following Node Attribute TLVs SHOULD be supported for SRv6:
Node Attribute TLVs for SRv6 with BGP-LS SPF
Type | Description | Reference
1138 | SRv6 Capabilities TLV | RFC 9514
266 | Node MSD TLV | RFC 8814
SRv6 Link Attribute TLVs
The following Link Attribute TLVs SHOULD be supported for SRv6:
Link Attribute TLVs for SRv6 with BGP-LS SPF
Type | Description | Reference
1106 | SRv6 End.X SID TLV | RFC 9514
SRv6 Prefix Attribute TLVs
The following Prefix Attribute TLVs SHOULD be supported for SRv6:
Prefix Attribute TLVs for SRv6 with BGP-LS SPF
Type | Description | Reference
1162 | SRv6 Locator TLV | RFC 9514
SRv6 SID NLRI
When SRv6 SIDs need to be advertised in BGP-SPF, the NLRI type for SRv6 SID SHOULD be supported in BGP-LS SPF SAFI:
SRv6 SID NLRI with BGP-LS SPF
Type | NLRI Type | Reference
6 | SRv6 SID NLRI | RFC 9514
SRv6 SID Information NLRI
The SRv6 SID Information TLV SHOULD be carried in the SRv6 SID NLRI.
SRv6 SID Information TLV with BGP-LS SPF
Type | NLRI Type | Reference
518 | SRv6 SID Information TLV | RFC 9514
SRv6 SID Attribute TLVs
The following TLVs MAY be carried in the BGP-LS Attribute associated with the SRv6 SID NLRI:
SRv6 SID Attribute TLVs with BGP-LS SPF
Type | NLRI Type | Reference
1250 | SRv6 Endpoint Behavior TLV | RFC 9514
1251 | SRv6 PeerNode SID TLV | RFC 9514
1252 | SRv6 SID Structure TLV | RFC 9514
Operational Considerations
TBD
Security Considerations
This document introduces no additional security vulnerabilities in addition to the ones as described in [RFC9552].
IANA Considerations
Acknowledgements
The authors would like to thank XXX for the review and discussion of this document.
Normative References
[RFC4271]

A Border Gateway Protocol 4 (BGP-4)
Y. Rekhter, Ed.
T. Li, Ed.
S. Hares, Ed.
January 2006
RFC 4271
DOI 10.17487/RFC4271
[RFC9552]

Distribution of Link-State and Traffic Engineering Information Using BGP
K. Talaulikar, Ed.
December 2023
RFC 9552
DOI 10.17487/RFC9552
[I-D.ietf-lsvr-bgp-spf]

BGP Link-State Shortest Path First (SPF) Routing
Keyur Patel
Arrcus, Inc.
Acee Lindem
LabN Consulting, LLC
Shawn Zandi
LinkedIn
Wim Henderickx
Nokia
10 October 2024
Internet-Draft draft-ietf-lsvr-bgp-spf-38
[RFC8660]

Segment Routing with the MPLS Data Plane
A. Bashandy, Ed.
C. Filsfils, Ed.
S. Previdi
B. Decraene
S. Litkowski
R. Shakir
December 2019
RFC 8660
DOI 10.17487/RFC8660
[RFC8754]

IPv6 Segment Routing Header (SRH)
C. Filsfils, Ed.
D. Dukes, Ed.
S. Previdi
J. Leddy
S. Matsushima
D. Voyer
March 2020
RFC 8754
DOI 10.17487/RFC8754
[RFC8986]

Segment Routing over IPv6 (SRv6) Network Programming
C. Filsfils, Ed.
P. Camarillo, Ed.
J. Leddy
D. Voyer
S. Matsushima
Z. Li
February 2021
RFC 8986
DOI 10.17487/RFC8986
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174