rfc-8491

Signaling Maximum SID Depth (MSD) Using IS-IS

J. Tantsura, U. Chunduri, S. Aldrin, L. Ginsberg
date2018-11 streamIETF areartg wglsr statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc8491 doi10.17487/RFC8491
This document defines a way for an Intermediate System to Intermediate System (IS-IS) router to advertise multiple types of supported Maximum SID Depths (MSDs) at node and/or link granularity. Such advertisements allow entities (e.g., centralized controllers) to determine whether a particular Segment ID (SID) stack can be supported in a given network. This document only defines one type of MSD: Base MPLS Imposition. However, it defines an encoding that can support other MSD types. This document focuses on MSD use in a network that is Segment Routing (SR) enabled, but MSD may also be useful when SR is not enabled.

Extracted elements (20)

design-rationale §4

Both node-level and link-level MSD granularities are defined because some forwarding hardware has per-link MSD constraints that differ from the node minimum, enabling more precise path computation by centralized controllers.

routing, mpls

design-rationale §1

MSD advertisements are defined as extensible type-value pairs (MSD-Type + MSD-Value) to accommodate future MSD types beyond Base MPLS Imposition, such as entropy labels, SIDs imposed via recirculation, or SIDs associated with other data planes like IPv6.

routing, mpls

design-rationale §1

MSD advertisements MAY be useful even when Segment Routing is not enabled; in a non-SR MPLS network, MSD defines the maximum label depth, making the encoding broadly applicable.

routing, mpls

interoperability-note §3

If multiple Link MSD advertisements for the same MSD-Type and the same link are received, the procedure to select which copy to use is undefined.

routing, mpls

interoperability-note §2

If multiple Node MSD advertisements for the same MSD-Type originate from the same router, the procedures defined in RFC 7981 apply and may result in different MSD values being used by different controllers, but this does not create an interoperability issue.

routing, mpls

normative-requirement §4 MUST

If a Link MSD-Type is not signaled but the Node MSD-Type is, then the Node MSD-Type value MUST be considered to be the MSD value for that link.

routing, mpls

normative-requirement §3 SHOULD

If the advertising router performs label imposition in the context of the ingress interface (making per-link values meaningless), only the Node MSD SHOULD be advertised.

routing, mpls

normative-requirement §1 SHOULD

MSD capabilities SHOULD be advertised by every IS-IS router in the network so that BGP-LS can signal MSD for all nodes and links for which MSD is relevant.

routing, mpls

normative-requirement §4 MUST

The correct interpretation of the absence of both Node and Link MSD advertisements for a given MSD-Type MUST be specified when an MSD-Type is defined, since absence may mean either lack of advertisement support or lack of the underlying functionality.

routing, mpls, registry

normative-requirement §2 MUST

The Node MSD-Value MUST represent the lowest MSD value supported by any link configured for use by the advertising IS-IS instance.

routing, mpls

normative-requirement §4 RECOMMENDED

To increase flooding efficiency, it is RECOMMENDED that routers with homogeneous Link MSD values advertise just the Node MSD value.

routing, mpls

normative-requirement §4 MUST

When Link MSD is present for a given MSD-Type, the value of the Link MSD MUST take precedence over the Node MSD.

routing, mpls

protocol-element §5

Base MPLS Imposition MSD (BMI-MSD) signals the total number of MPLS labels that can be imposed, including all service, transport, and special labels. The absence of BMI-MSD advertisements indicates only that the advertising node does not support advertisement of this capability.

routing, mpls

protocol-element §3

The Link MSD sub-TLV (Type 15) is defined for TLVs 22, 23, 25, 141, 222, and 223 to carry the MSD of the interface associated with a specific link. MSD values may be signaled by the forwarding plane or provisioned.

routing, mpls

protocol-element §2

The Node MSD sub-TLV (Type 23) is defined within the IS-IS Router CAPABILITY TLV (TLV 242) to carry the provisioned SID depth of the originating router. Node MSD is the smallest MSD supported by the node across all interfaces configured for use by the advertising IGP instance. MSD values may be learned via a hardware API or may be provisioned.

routing, mpls

registry §6

IANA allocated sub-TLV type 23 (Node MSD) in the 'Sub-TLVs for TLV 242 (IS-IS Router CAPABILITY TLV)' registry, and sub-TLV type 15 (Link MSD) in the 'Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223' registry.

registry, routing, mpls

registry §6

IANA created the 'IGP MSD-Types' registry under 'Interior Gateway Protocol (IGP) Parameters' with Expert Review registration policy. Defined values: 0 (Reserved), 1 (Base MPLS Imposition MSD), 2-250 (Unassigned), 251-254 (Experimental Use), 255 (Reserved). Types are unsigned 8-bit numbers.

registry, routing, mpls

security-consideration §7

Advertisement of an incorrect MSD value has negative consequences: a value smaller than supported may cause path computation to fail to find a viable path, while a value larger than supported may cause instantiation of a path the head-end cannot actually support. The presence of MSD information may also inform an attacker of how to induce these failure conditions.

security, routing, mpls

wire-format §3

The Link MSD sub-TLV encodes Type (1 octet, value 15), Length (1 octet, variable, multiple of 2), and a Value field of one or more 1-octet MSD-Type / 1-octet MSD-Value pairs. MSD-Value 0 indicates inability to support any SID stack depth on that link.

routing, mpls

wire-format §2

The Node MSD sub-TLV encodes Type (1 octet, value 23), Length (1 octet, variable, multiple of 2), and a Value field consisting of one or more pairs of 1-octet MSD-Type and 1-octet MSD-Value. MSD-Value is in the range 0-255, where 0 indicates inability to support any SID stack depth.

routing, mpls