Signaling RSVP-TE Tunnels on a Shared MPLS Forwarding Plane
Extracted elements (27)
Automatic delegation (ETLD-based) is preferred over explicit delegation when loose hops exist in the ERO, because the ingress may not know the label stack depth limits of all transit LSRs in advance. The ETLD mechanism allows delegation hops to be self-selected during Path message processing without requiring pre-knowledge at the ingress.
No additional routing protocol extensions are required to support bandwidth admission control, LSP priorities, preemption, and auto-bandwidth on the shared MPLS forwarding plane. These RSVP-TE control-plane features operate unchanged; only the forwarding-plane state is reduced.
The shared MPLS forwarding plane couples RSVP-TE control-plane features (bandwidth admission, priorities, preemption, auto-bandwidth, fast reroute) with the simplicity of Segment Routing's MPLS forwarding plane. TE link labels behave identically to SR adjacency segments — pop and forward — eliminating the need to program per-LSP forwarding state at transit hops.
Two delegation stacking approaches are defined: 'Stack to Reach Delegation Hop' keeps delegation labels out of the initial stack but limits delegation label sharing to LSPs with the same egress and path; 'Stack to Reach Egress' includes all delegation labels in the initial stack allowing broader sharing but constrains hop count to ingress push capacity.
Labels can be mixed across transit hops in a single MPLS RSVP-TE LSP: certain LSRs use TE link labels while others use regular labels. The ingress constructs the label stack based on the label type recorded from each transit LSR in the RRO, providing backward compatibility with LSRs that do not support TE link labels.
MPLS LSP ping and traceroute (RFC 8029) are applicable for Segment Routed RSVP-TE tunnels. Existing procedures allow the label stack imposed at a delegation hop to be reported back in the Label Stack Sub-TLV in MPLS echo replies for traceroute.
The signaling procedures and extensions in this document do not apply to Point to Multipoint (P2MP) RSVP-TE tunnels. Use of Segment Routed bypass tunnels for facility protection is left for further study; only regular bypass tunnels are addressed for link protection.
An ingress LER that sets the TE Link Label flag (Bit 16) MUST also set the 'label recording desired' flag in the SESSION_ATTRIBUTE object. A transit hop catering to this request MUST also check for other Attribute Flags introduced in this document.
An LSR that participates in a shared MPLS forwarding plane MUST allocate a unique TE link label for each TE link. When an LSR encounters a TE link label at the top of the label stack, it MUST pop the label and forward the packet over the TE link to the downstream neighbor on the RSVP-TE tunnel.
If a transit hop that does not support the 'Stack to reach egress' approach receives an LSI-D-S2E flag, it MUST send a PathErr message with error code 'Routing Problem (24)' and error value 'Label stack imposition failure (71)'.
The ETLD MUST be decremented at each non-delegation transit hop, and at each delegation hop the ETLD MUST be reset to the maximum number of transport labels that the hop can send. The ETLD field MUST be set to a non-zero value.
The HOP_ATTRIBUTES sub-object carrying the LSI-D flag for explicit delegation MUST have the R (Required) bit set. If the hop cannot comply with the explicit delegation mandate, it MUST send a PathErr with error code 'Routing Problem (24)' and error value 'Label stack imposition failure (71)'.
The ingress LER or delegation hop MUST check the type of label received from each transit hop as recorded in the RRO and generate the appropriate label stack. Each RRO label sub-object MUST be processed starting with the label sub-object from the first downstream hop, and any label provided by the first downstream hop MUST always be pushed on the label stack.
The LSI-D flag in LSP_ATTRIBUTES MUST be set only if the use and recording of TE link labels are requested/mandated. If an unsupporting transit hop receives a mandated TE link label requirement, it MUST send a PathErr with error code 24 and error value 70.
To provide link protection at a PLR with a shared MPLS forwarding plane, the LSR MUST allocate a separate TE link label for the TE link that will be used for RSVP-TE tunnels that request link protection from the ingress.
When a node recognizes the TE Link Label flag in LSP_REQUIRED_ATTRIBUTES but cannot cater to the mandate due to local policy, it MUST send a PathErr message with error code 'Routing Problem (24)' and error value 'TE link label usage failure (70)'.
When automatic delegation is requested, the ingress MUST populate the ETLD with the maximum number of transport labels that it can potentially send to its downstream hop. If a node is reached where the ETLD set from the previous hop is 1, that node MUST select itself as the delegation hop.
A delegation hop is a transit hop of a Segment Routed RSVP-TE LSP selected to assist in imposition of the label stack when the ingress LER cannot impose the full stack. A delegation label is assigned at the delegation hop to represent a set of labels that will be pushed there.
A TE link label is an incoming label at an LSR that causes a pop operation with the packet forwarded over a specific outgoing TE link to a neighbor. These labels are preinstalled per-TE link and can be shared by all MPLS RSVP-TE LSPs traversing that TE link, regardless of LSP ingress or egress.
Attribute Flags TLV Bit 16 (TE Link Label) in LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES of a Path message requests or mandates use and recording of TE link labels at all hops. Bit 17 (LSI-D) requests automatic or signals explicit delegation. Bit 18 (LSI-D-S2E) selects the 'Stack to reach egress' stacking approach.
RRO Label Sub-object Flag 0x02 (TE Link Label) indicates the recorded label is a TE link label. Flag 0x04 (Delegation Label) indicates the recorded label is a delegation label. These flags MUST be used only when TE link label use is requested or mandated for the LSP.
RFC 8577 allocates two new error values under RSVP Error Code 24 (Routing Problem): value 70 'TE link label usage failure' and value 71 'Label stack imposition failure'.
RFC 8577 creates a new subregistry 'Label Sub-object Flags' under the RSVP-TE 'Record Route Object Sub-object Flags' registry, defining Flag 0x1 (Global Label, RFC 3209), Flag 0x02 (TE Link Label), and Flag 0x04 (Delegation Label).
RFC 8577 registers a new Attribute TLV Type 6 (ETLD) in the RSVP-TE Parameters 'Attribute TLV Space' registry, allowed only on LSP Hop Attributes (not LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES).
RFC 8577 registers three new Attribute Flags in the RSVP-TE Parameters 'Attribute Flags' subregistry: Bit 16 (TE Link Label, Path only), Bit 17 (LSI-D, Path and ERO), and Bit 18 (LSI-D-S2E, Path only).
RFC 8577 does not introduce new security issues. The security considerations from the original RSVP protocol (RFC 2205), RSVP-TE (RFC 3209), and the MPLS/GMPLS security framework (RFC 5920) remain relevant and applicable.
The ETLD Attributes TLV (Type 6) is a 32-bit field: bits 0-23 are Reserved (SHOULD be set to zero, MUST be ignored on receipt), and bits 24-31 carry the ETLD value (effective transport label-stack depth). It appears in HOP_ATTRIBUTES sub-objects of RRO in Path messages.