Internet-Draft BGP-LS Extensions for Algorithm Related October 2026
Chen, et al. Expires 21 April 2027 [Page]
Workgroup:
Inter-Domain Routing
Internet-Draft:
draft-chen-idr-bgp-ls-algo-related-adjacency-sid-05
Published:
Intended Status:
Standards Track
Expires:
Authors:
R. Chen
ZTE Corporation
Sh. Peng
ZTE Corporation
P. Psenak
Cisco Systems
Y. Liu
ZTE Corporation

Algorithm Related Adjacency SID Advertisement

Abstract

This draft describes a mechanism to distribute SR-MPLS algorithm Related Adjacency SID from controllers to the headend routers using BGP-LS.

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 21 April 2027.

▲

Table of Contents

1. Introduction

[I-D.ietf-lsr-algorithm-related-adjacency-sid] defines the algorithm identifier can be included as part of an Adjacency-SID advertisement for SR-MPLS.

[I-D.ietf-idr-sr-te-policy-attr] proposes extensions of BGP and defines new Segment Types to provide algorithm information for SR-MPLS Adjacency-SIDs when delivering SR Policy via BGP.

[RFC9085]defines extensions to the Border Gateway Protocol-Link State (BGP-LS) address family in order to carry SR information via BGP, and an algorithm identifier is included as part of the Prefix-SID TLV advertisement.

[RFC9857] describes a mechanism to distribute SR policy information to external components using BGP-LS. SR policy information can be used by external components for path computation, re-optimization, service placement, network visualization, etc.

This draft describes a mechanism to distribute SR-MPLS algorithm Related Adjacency SID to external components using BGP-LS.

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. BGP-LS Extensions for SR-MPLS Adjacency SID with optional SR Algorithm

[I-D.ietf-lsr-algorithm-related-adjacency-sid] defines the algorithm identifier can be included as part of an Adjacency-SID advertisement for SR-MPLS. This section introduces extensions to BGP-LS to convey algorithm information associated with SR-MPLS adjacency SIDs.

The following link attribute TLVs are defined:

Table 1: New link attribute TLVs
Type Description
TBD1 Adjacency SID with Algorithm
TBD2 LAN Adjacency SID with Algorithm

2.1. Adjacency SID with Algorithm TLV

The Adjacency SID with Algorithm TLV is used in order to advertise information related to an algorithm Related Adjacency SID. This information is derived from the Adjacency Segment Identifier (Adj-SID) with Algorithm Sub-TLV of ISIS/OSPFv2/OSPFv3(Section 4 of [I-D.ietf-lsr-algorithm-related-adjacency-sid]).

The Adjacency SID with Algorithm TLV has the following format:

    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         |     Weight    |   Algorithm   |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   SID/Label/Index (variable)                 //
   +---------------------------------------------------------------+

where:

Type: TBD1 (to be assigned by IANA).

Length: variable.

Flags: 1-octet value that should be set as:

Weight: 1 octet carrying the weight used for load-balancing purposes. The use of weight is described in Section 4 of [I-D.ietf-lsr-algorithm-related-adjacency-sid].

Algorithm: 1-octet value identifies the algorithm. The semantics of the algorithm are described in ISIS/OSPFv2/OSPFv3 Adj-SID with Algorithm([I-D.ietf-lsr-algorithm-related-adjacency-sid]).

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

SID/Label/Index: Label or index value as defined in Section 4 of [I-D.ietf-lsr-algorithm-related-adjacency-sid].

2.2. LAN Adjacency SID with Algorithm TLV

This information is derived from LAN-Adj-SID with Algorithm Sub-TLV of ISIS/OSPFv2/OSPFv3(Section 4 of [I-D.ietf-lsr-algorithm-related-adjacency-sid]).

The LAN Adjacency SID with Algorithm TLV has the following format:

    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     |     Weight    |  Algorithm    |  Reserved     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             OSPF Neighbor ID / IS-IS System ID                |
   +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    SID/Label/Index (variable)                //
   +---------------------------------------------------------------+

where:

Type: TBD2 (to be assigned by IANA).

Length: variable.

Flags: 1-octet value that should be set as:

Weight: 1 octet carrying the weight used for load-balancing purposes. The use of weight is described in Section 4 of [I-D.ietf-lsr-algorithm-related-adjacency-sid].

Algorithm: 1-octet value identifies the algorithm. The semantics of the algorithm are described in ISIS/OSPFv2/OSPFv3 LAN-Adj-SID with Algorithm([I-D.ietf-lsr-algorithm-related-adjacency-sid]).

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

Neighbor ID/IS-IS System ID: 6 octets for IS-IS for the System ID, and 4 octets for OSPF for the OSPF Router-ID of the neighbor.

SID/Label/Index: Label or index value as defined in ISIS/OSPFv2/OSPFv3 LAN-Adj-SID with Algorithm([I-D.ietf-lsr-algorithm-related-adjacency-sid]).

3. BGP-LS Extensions for new Segment Descriptors

[I-D.ietf-idr-sr-te-policy-attr] defines four new Segment types of Segment Sub-TLV to provide algorithm information for SR-MPLS Adjacency-SIDs. This section defines the encoding of the Segment Descriptors for each of those Segment types to be used in the Segment sub-TLV describes in [RFC9857].

The following Segment Descriptors are defined and their mapping to the respective segment types defined in [I-D.ietf-idr-sr-te-policy-attr]:

   +======+============================================================+
   | Type |                    Segment Description                     |
   +======+============================================================+
   | TBD3 |        (Type L)IPv4 Address and Local Interface ID         |
   |      |                  with optional Algorithm                   |
   +------+------------------------------------------------------------+
   | TBD4 |        (Type M)IPv4 Addresses for link endpoints as        |
   |      |         Local, Remote pair with optional Algorithm         |
   +------+------------------------------------------------------------+
   | TBD5 |          (Type N)IPv6 Prefix and Interface ID for          |
   |      |         link endpoints as Local, Remote pair, with         |
   |      |               optional Algorithm for SR-MPLS               |
   +------+------------------------------------------------------------+
   | TBD6 |        (Type O)IPv6 Addresses for link endpoints as        |
   |      |        Local, Remote pair, with optional Algorithm         |
   |      |                        for SR-MPLS                         |
   +------+------------------------------------------------------------+

3.1. Type TBD3: IPv4 Node Address and Local Interface ID with optional SR Algorithm for SR-MPLS

The Segment is SR-MPLS Adjacency SID with optional Algorithm and is specified as an IPv4 node address along with the local interface ID on that node. The format of its Segment Descriptor is as follows:

    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
   +-+-+-+-+-+-+-+-+
   |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 IPv4 Node Address (4 octets)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Local Interface ID (4 octets)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:

Algorithm: 1-octet value that indicates the algorithm used for picking the SID. The algorithm values are from IGP Algorithm Types registry under the IANA Interior Gateway Protocol (IGP) Parameters.

IPv4 Node Address: 4-octet value which carries the IPv4 address associated with the node.

Local Interface ID: 4-octet value which carries the local interface ID of the node identified by the Node Address.

3.2. Type TBD4: IPv4 Addresses for link endpoints as Local, Remote pair with optional SR Algorithm for SR-MPLS

The Segment is SR-MPLS Adjacency SID with optional Algorithm type and is specified as a pair of IPv4 local and remote addresses. The format of its Segment Descriptor is as follows:

    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
   +-+-+-+-+-+-+-+-+
   |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                IPv4 Local Address (4 octets)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               IPv4 Remote Address (4 octets)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:

Algorithm: 1-octet value that indicates the algorithm used for picking the SID. This is valid only when the A-flag has been set in the Segment TLV as defined in [RFC9857]. When A-Flag is not encoded, this field SHOULD be set to zero on transmission and MUST be ignored on receipt.

Other fields have the same meaning as the Type 6 Segment Descriptor in Section 5.7.1.1.6 of [RFC9857], where:

IPv4 Local Address: 4-octet value which carries the local IPv4 address associated with the node.

IPv4 Remote Address: 4-octet value which carries the remote IPv4 address associated with the node's neighbor. This is optional and MAY be set to 0 when not used (e.g. when identifying point-to-point links).

3.3. Type TBD5:IPv6 Node Addresses and Interface ID for link endpoints as Local, Remote pair, with optional SR Algorithm for SR-MPLS

The Segment is SR-MPLS Adjacency SID optional Algorithm type and is specified as a pair of IPv6 global address and interface ID for local and remote nodes. The format of its Segment Descriptor is as follows:

    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
   +-+-+-+-+-+-+-+-+
   |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //          IPv6 Local Node Global Address (16 octets)         //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Local Node Interface ID (4 octets)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //          IPv6 Remote Node Global Address (16 octets)        //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Remote Node Interface ID (4 octets)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:

Algorithm: 1-octet value that indicates the algorithm used for picking the SID. This is valid only when the A-flag has been set in the Segment TLV as defined in [RFC9857]. When A-Flag is not encoded, this field SHOULD be set to zero on transmission and MUST be ignored on receipt.

Other fields have the same meaning as the Type 7 Segment Descriptor in Section 5.7.1.1.7 of [RFC9857], where:

IPv6 Local Node Global Address: 16-octet value which carries the IPv6 global address associated with the local node.

Local Node Interface ID : 4-octet value which carries the interface ID of the local node identified by the Local Node Address.

IPv6 Remote Node Global Address: 16-octet value which carries the IPv6 global address associated with the remote node. This is optional and MAY be set to 0 when not used (e.g. when identifying point-to-point links).

Remote Node Interface ID: 4-octet value which carries the interface ID of the remote node identified by the Remote Node Address. This is optional and MAY be set to 0 when not used (e.g. when identifying point-to-point links).

3.4. Type TBD6: IPv6 Addresses for link endpoints as Local, Remote pair, with optional SR Algorithm for SR-MPLS

The Segment is SR-MPLS Adjacency SID optional Algorithm type and is specified as a pair of IPv6 Global addresses for local and remote interface addresses. The format of its Segment Descriptor is as follows:

    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
   +-+-+-+-+-+-+-+-+
   |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                  IPv6 Local Address (16 octets)             //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                 IPv6 Remote Address (16 octets)             //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:

Algorithm: 1-octet value that indicates the algorithm used for picking the SID. This is valid only when the A-flag has been set in the Segment TLV as defined in [RFC9857]. When A-Flag is not encoded, this field SHOULD be set to zero on transmission and MUST be ignored on receipt.

Other fields have the same meaning as the Type 8 Segment Descriptor in Section 5.7.1.1.8 of [RFC9857], where:

IPv6 Local Address: 16-octet value which carries the local IPv6 address associated with the node.

IPv6 Remote Address: 16-octet value which carries the remote IPv6 address associated with the node's neighbor

4. Acknowledgements

TBD.

5. IANA Considerations

This document makes the following Link Attribute TLVs registry under the "Border Gateway Protocol-Link State (BGP-LS) Parameter".

Value  Description                          Reference
--------------------------------------------------------------
TBD1  Adjacency SID with Algorithm           This document
TBD2  LAN Adjacency SID with Algorithm       This document

5.2. BGP-LS SR Segment Descriptors

This document makes the following SR Segment Descriptor Types registry under the "SR Segment Descriptor Types". The registry contains the following codepoints to be assigned by IANA with the reference set to this document:

Value   Segment Description                                         Reference
---------------------------------------------------------------------------------
TBD3   IPv4 Node Address and Local Interface ID with optional       This document
       SR Algorithm for SR-MPLS
TBD4   IPv4 Addresses for link endpoints as Local, Remote           This document
       pair with SR optional Algorithm for SR-MPLS
TBD5   IPv6 Node Addresses and Interface ID for link endpoints as   This document
       Local, Remote pair, with optional SR Algorithm for SR-MPLS
TBD6   IPv6 Addresses for link endpoints as Local, Remote pair,     This document
       with optional SR Algorithm for SR-MPLS

6. Security Considerations

Procedures and protocol extensions defined in this document do not affect the BGP security model. See the "Security Considerations"section of [RFC4271] for a discussion of BGP security. Security considerations for acquiring and distributing BGP-LS SR information are discussed in [RFC9085]. Security considerations for acquiring and distributing BGP-LS SR Policy information are discussed in [RFC9857].

7. Normative References

[I-D.ietf-idr-sr-te-policy-attr]
Liu, Y., Peng, S., and G. S. Mishra, "Advertising SID Algorithm Information in BGP", Work in Progress, Internet-Draft, draft-ietf-idr-sr-te-policy-attr-05, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-te-policy-attr-05>.
Chen, R., Peng, S., Talaulikar, K., and P. Psenak, "Algorithm Related IGP-Adjacency SID Advertisement", Work in Progress, Internet-Draft, draft-ietf-lsr-algorithm-related-adjacency-sid-08, , <https://datatracker.ietf.org/doc/html/draft-ietf-lsr-algorithm-related-adjacency-sid-08>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <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, , <https://www.rfc-editor.org/info/rfc4271>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[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, , <https://www.rfc-editor.org/info/rfc9085>.
[RFC9857]
Previdi, S., Talaulikar, K., Ed., Dong, J., Gredler, H., and J. Tantsura, "Advertisement of Segment Routing Policies Using BGP - Link State", RFC 9857, DOI 10.17487/RFC9857, , <https://www.rfc-editor.org/info/rfc9857>.

Authors' Addresses

Ran Chen
ZTE Corporation
Nanjing
China
Shaofu Peng
ZTE Corporation
Nanjing
China
Peter Psenak
Cisco Systems
Slovakia
Yao Liu
ZTE Corporation
Nanjing
China