Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State
Extracted elements (14)
BGP-LS MSD advertisement is needed because if PCEP is not supported or configured on the head-end of an SR tunnel or Binding-SID anchor node, and the controller does not participate in IGP routing, it has no way of learning the MSD of nodes and links. BGP-LS provides the mechanism to expose this topology capability to centralized controllers.
The extensions allow advertisement of different MSD-Types defined elsewhere (in RFC 8491), enabling future MSD-Types defined by IGPs to be shared via BGP-LS without requiring updates to this document. MSD advertisements may be useful even if SR is not enabled, e.g., in non-SR MPLS networks where MSD defines the maximum label depth.
MSD-Types used in BGP-LS Node and Link MSD TLVs are drawn from the 'IGP MSD-Types' registry defined in RFC 8491, ensuring consistency with IGP signaling of the same capability.
When a BGP-LS speaker originates topology learned via OSPF or IS-IS, the MSD information for nodes and their links is sourced from the underlying extensions defined in RFC 8476 (OSPF) and RFC 8491 (IS-IS), respectively.
Any syntactic error in the new Node MSD or Link MSD Attribute TLVs will result in the BGP-LS Attribute being discarded per RFC 7752 procedures.
The Node MSD-Value MUST represent the lowest value supported by any link configured for use by the advertising protocol instance.
For all MSD-Types in both Node and Link MSD TLVs, MSD-Value 0 represents the lack of ability to impose an MSD stack of any depth; any other value represents the actual MSD capability.
Link MSD is defined to carry the MSD of the interface associated with a specific link, as opposed to Node MSD which represents the node-wide minimum. The MSD-Value represents the capability of the link when used as an outgoing interface.
Node MSD is defined as the smallest MSD supported by the node on the set of interfaces configured for use. MSD values may be learned via a hardware API or may be provisioned.
IANA assigned two code points in the 'BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs' registry: 266 for Node MSD (corresponding to IS-IS TLV 242/Sub-TLV 23) and 267 for Link MSD (corresponding to IS-IS TLVs 22,23,25,141,222,223/Sub-TLV 15).
Advertisement of an incorrect MSD value can cause path computation failure (if value is too small) or an attempt to instantiate an unsupportable path at the head-end (if value is too large). The presence of MSD information may also inform an attacker of how to induce these conditions.
The procedures and extensions in this document do not affect the BGP security model. IGP instances originating MSD TLVs are assumed to support all required security as described in RFC 8476 and RFC 8491 to prevent security issues when propagating the TLVs into BGP-LS.
The Link MSD TLV (Type 267) is a Link Attribute TLV with variable length (multiple of 2 octets). Its value field consists of one or more pairs of a 1-octet MSD-Type and 1-octet MSD-Value, where MSD-Value 0 means no ability to impose any MSD stack.
The Node MSD TLV (Type 266) is a Node Attribute TLV with variable length (multiple of 2 octets). Its value field consists of one or more pairs of a 1-octet MSD-Type and 1-octet MSD-Value, where MSD-Type is from the IGP MSD-Types registry and MSD-Value ranges 0-255.