rfc-8577

Signaling RSVP-TE Tunnels on a Shared MPLS Forwarding Plane

H. Sitaraman, V. Beeram, T. Parikh, T. Saad
date2019-04 streamIETF areartg wgmpls statusPROPOSED STANDARD pages24 canonicalhttps://www.rfc-editor.org/rfc/rfc8577 doi10.17487/RFC8577 errataview
As the scale of MPLS RSVP-TE networks has grown, the number of Label Switched Paths (LSPs) supported by individual network elements has increased. Various implementation recommendations have been proposed to manage the resulting increase in the amount of control-plane state information. However, those changes have had no effect on the number of labels that a transit Label Switching Router (LSR) has to support in the forwarding plane. That number is governed by the number of LSPs transiting or terminated at the LSR and is directly related to the total LSP state in the control plane. This document defines a mechanism to prevent the maximum size of the label space limit on an LSR from being a constraint to control-plane scaling on that node. It introduces the notion of preinstalled 'per-TE link labels' that can be shared by MPLS RSVP-TE LSPs that traverse these TE links. This approach significantly reduces the forwarding-plane state required to support a large number of LSPs. This couples the feature benefits of the RSVP-TE control plane with the simplicity of the Segment Routing (SR) MPLS forwarding plane.

Extracted elements (27)

design-rationale §5.3

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.

mpls, routing

design-rationale §1

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.

mpls, routing

design-rationale §1

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.

mpls, routing

design-rationale §5.1

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.

mpls, routing

interoperability-note §6

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, routing

interoperability-note §10

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.

mpls, routing

interoperability-note §1

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.

mpls, routing

normative-requirement §9.2 MUST

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.

mpls, routing

normative-requirement §3 MUST

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.

mpls, routing

normative-requirement §9.6 MUST

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)'.

mpls, routing

normative-requirement §5.3.1 MUST

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.

mpls, routing

normative-requirement §9.4 MUST

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)'.

mpls, routing

normative-requirement §7 MUST

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.

mpls, routing

normative-requirement §9.4 MUST

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.

mpls, routing

normative-requirement §8.1 MUST

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.

mpls, routing

normative-requirement §9.2 MUST

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)'.

mpls, routing

normative-requirement §5.3.1 MUST

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.

mpls, routing

protocol-element §2

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.

mpls, routing

protocol-element §2

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.

mpls, routing

protocol-element §9.2

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.

mpls, routing

protocol-element §9.3

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.

mpls, routing

registry §11.4

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'.

mpls, routing, registry

registry §11.3

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).

mpls, routing, registry

registry §11.2

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).

mpls, routing, registry

registry §11.1

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).

mpls, routing, registry

security-consideration §12

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.

mpls, routing, security

wire-format §9.7

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.

mpls, routing