When Segment Routing (SR) [
RFC 8402] paths are computed by a centralized controller, it is critical that the controller learns the Maximum SID Depth (MSD) that can be imposed at each node/link on a given SR path. This ensures that the Segment Identifier (SID) stack depth of a computed path doesn't exceed the number of SIDs the node is capable of imposing.
[
RFC 8664] defines how to signal MSD in the Path Computation Element Protocol (PCEP). The OSPF and IS-IS extensions for the signaling of MSD are defined in [
RFC 8476] and [
RFC 8491], respectively.
However, if PCEP is not supported/configured on the head-end of an SR tunnel or a 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 [
RFC 7752] defines a way to expose topology and associated attributes and capabilities of the nodes in that topology to a centralized controller.
This document defines extensions to BGP-LS to advertise one or more types of MSDs at node and/or link granularity. Other types of MSDs are known to be useful. For example, [
OSPF-ELC] and [
ISIS-ELC] define Entropy Readable Label Depth (ERLD), which is used by a head-end to insert an Entropy Label (EL) at a depth that can be read by transit nodes.
In the future, it is expected that new MSD-Types will be defined to signal additional capabilities, e.g., ELs, SIDs that can be imposed through recirculation, or SIDs associated with another data plane such as IPv6. MSD advertisements may be useful even if SR itself is not enabled. For example, in a non-SR MPLS network, MSD defines the maximum label depth.
-
MSD:
-
Maximum SID Depth - the number of SIDs supported by a node or a link on a node
-
PCE:
-
Path Computation Element
-
PCEP:
-
Path Computation Element Protocol
-
SID:
-
Segment Identifier as defined in [RFC 8402]
-
SR:
-
Segment Routing
-
Label Imposition:
-
Imposition is the act of modifying and/or adding labels to the outgoing label stack associated with a packet. This includes:
-
replacing the label at the top of the label stack with a new label
-
pushing one or more new labels onto the label stack
The number of labels imposed is then the sum of the number of labels that are replaced and the number of labels that are pushed. See [RFC 3031] for further details.
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 [
RFC 2119] [
RFC 8174] when, and only when, they appear in all capitals, as shown here.