ietf-corpus

rfc-3212

Constraint-Based LSP Setup using LDP

B. Jamoussi (Editor), L. Andersson, R. Callon, R. Dantu, L. Wu, P. Doolan, T. Worster, N. Feldman, A. Fredette, M. Girish, E. Gray, J. Heinanen, T. Kilty, A. Malis
date2002-01 streamIETF areartg wgmpls statusPROPOSED STANDARD pages42 canonicalhttps://www.rfc-editor.org/rfc/rfc3212 doi10.17487/RFC3212
This document specifies mechanisms and TLVs (Type/Length/Value) for support of CR-LSPs (constraint-based routed Label Switched Path) using LDP (Label Distribution Protocol). [STANDARDS-TRACK]

updated by

Extracted elements (28)

design-rationale §4.4

The default setup and holding priority is set to 4 (the middle of the 0-7 range) so that preemption can be enabled gradually in an operational network by incrementally increasing or decreasing priorities from the midpoint, avoiding disruption during rollout.

mpls, qos

design-rationale §4.7.4

The LSPID ER-Hop (type 0x0804) allows splicing or stacking CR-LSPs to eliminate the need to store the full remaining ER-TLV at each end of a loosely routed segment: the upstream LSR needs only the next ER-Hop and LSPID, while the downstream LSR needs only the LSPID.

mpls, routing

design-rationale §4.3

Traffic parameters (PDR, PBS, CDR, CBS, EBS) are encoded as 32-bit IEEE single-precision floating-point numbers; positive infinity (exponent all-ones, sign and mantissa all-zeros) represents an unlimited/unconstrained value, simplifying the encoding of best-effort and unconstrained parameters.

mpls, qos

interoperability-note §3

CR-LDP depends on specific LDP behaviors from RFC 3036: Basic and/or Extended Discovery, Label Request in downstream-on-demand ordered control mode, Label Mapping in downstream-on-demand ordered control mode, Notification, Withdraw/Release messages, and Loop Detection for loosely routed CR-LSP segments.

mpls

normative-requirement §4.2 MUST NOT

A node receiving a Label Request Message with an ER-Hop type that is not supported MUST NOT forward the message to the downstream LSR and MUST send back a 'No Route' Notification Message.

mpls

normative-requirement §4.10 MUST

A single FEC element MUST be included in the Label Request Message; the CR-LSP FEC Element (type 0x04) SHOULD be used, though other FEC elements from RFC 3036 MAY be used for certain applications.

mpls

normative-requirement §4.3.2.1 MUST

If, after possible Traffic Parameter negotiation, an LSR can support the CR-LSP Traffic Parameters then the LSR MUST reserve the corresponding resources. If it cannot, the LSR MUST send a Notification with 'Resource Unavailable' status code.

mpls, qos

normative-requirement §4.3.2.2 MUST

If the negotiation flag was set in the Label Request Message, the egress LSR MUST include the (possibly negotiated) Traffic Parameters and Weight in the Label Mapping message. The Traffic Parameters and Weight in a Label Mapping message MUST be forwarded unchanged.

mpls, qos

normative-requirement §3.4 MUST

Notification Messages MUST be forwarded toward the LSR originating the Label Request at each hop whenever procedures specify sending a Notification in response to a Label Request Message. All new CR-LDP status codes require the F bit to be set.

mpls

normative-requirement §4.3.2.3 MUST

On receiving a Notification Message for a CR-LSP, an LSR SHOULD release any reserved resources. When propagating a Notification upstream from a downstream LSR in response to a Label Request, the local LSR MUST propagate it per LDP procedures with the F bit set.

mpls

normative-requirement §4 MUST

The Label Request Message MUST carry the LSPID TLV and MAY carry one or more optional Constraint-based Routing TLVs (CR-TLVs). Optional TLVs MUST be implemented to be compliant with the protocol, though they are optionally carried in messages.

mpls

normative-requirement §4.2 MUST

The path between a strict ER-Hop node and its prior abstract node MUST include only network nodes from those two abstract nodes. A loose hop's path MAY include other network nodes not part of those abstract nodes.

mpls, routing

normative-requirement §4.3 MUST

The value of PDR MUST be greater than or equal to the value of CDR in a correctly encoded Traffic Parameters TLV. If an LSR receives a TLV where PDR < CDR in a Label Request, it MUST send a Notification with status 'Traffic Parameters Unavailable'.

mpls, qos

normative-requirement §3 MUST

When a Label Request Message includes CR-TLVs, ordered control MUST be used to set up the CR-LSP. An LSR implicitly infers ordered control from the existence of one or more CR-TLVs, even if configured for independent control for dynamically routed LSPs.

mpls

protocol-element §4.1

The Explicit Route TLV (ER-TLV, type 0x0800) specifies the path to be taken by the LSP being established. It is composed of one or more ER-Hop TLVs, each identifying a node or abstract node (group of nodes) along the constraint-based route.

mpls, routing

protocol-element §4.5

The LSPID TLV (type 0x0821) provides a network-unique identifier for a CR-LSP, composed of the ingress LSR Router ID and a locally unique CR-LSP ID. It also carries an Action Indicator Flag (0000=initial setup, 0001=modify) enabling in-service bandwidth modification.

mpls

protocol-element §4.4

The Preemption TLV (type 0x0820) carries SetPrio and HoldPrio fields (0-7, where 0 is highest priority). LSPs without an explicit Preemption TLV SHOULD be treated as having default priority 4. When an established LSP is preempted, the initiating LSR sends a Withdraw upstream and Release downstream.

mpls, qos

protocol-element §4.6

The Resource Class (Color) TLV (type 0x0822) carries a 32-bit bitmask (RsCls) indicating which administrative groups or 'colors' of links the CR-LSP may traverse, enabling topology pruning during path selection.

mpls, routing

registry §5.2

CR-LDP FEC Type Name Space: assigns CR-LSP FEC Element type 0x04 within the RFC 3036 FEC type space. Values 0-127 are assigned through IETF consensus.

mpls, registry

registry §5.3

CR-LDP Status Code Space: subdivides RFC 3036 status code space in range 0x04000000-0x040000FF, allocated through IETF Consensus. Defines: Bad Explicit Routing TLV Error (0x04000001), Bad Strict Node Error (0x04000002), Bad Loose Node Error (0x04000003), Bad Initial ER-Hop Error (0x04000004), Resource Unavailable (0x04000005), Traffic Parameters Unavailable (0x04000006), LSP Preempted (0x04000007), Modify Request Not Supported (0x04000008).

mpls, registry

registry §5.1

CR-LDP TLV Type Name Space: subdivides RFC 3036 LDP TLV space in range 0x0800-0x08FF, allocated through IETF Consensus. Initial assignments: ER-TLV (0x0800), IPv4 ER-Hop (0x0801), IPv6 ER-Hop (0x0802), AS Number ER-Hop (0x0803), LSP-ID ER-Hop (0x0804), Traffic Parameters (0x0810), Preemption (0x0820), LSPID (0x0821), Resource Class (0x0822), Route Pinning (0x0823).

mpls, registry

security-consideration §6

CR-LDP inherits the security mechanism described in Section 4.0 of RFC 3036 (LDP) to protect against introduction of spoofed TCP segments into LDP session connection streams. No additional security mechanisms are defined.

mpls, security

state-machine §3.3

CR-LSP setup uses downstream-on-demand ordered control triggered by receipt of a Label Request with CR-TLVs. A Label Mapping is sent upstream either when (1) the LSR is the egress and a mapping was requested, or (2) a mapping was received from downstream for a CR-LSP with a pending upstream request.

mpls

wire-format §4.10

The CR-LSP FEC Element (type 0x04) has no value field (0 value octets). The CR-LSP FEC TLV encoding uses outer type 0x0100 with length=1 containing the single byte 0x04 FEC element type.

mpls

wire-format §4.7.1

The ER-Hop IPv4 TLV (type 0x0801, length=8) contains: L bit (loose/strict), Reserved bits, 8-bit PreLen (prefix length 1-32), and a 4-byte IPv4 address. A prefix length of 32 identifies a single node.

mpls, ip

wire-format §4.7.2

The ER-Hop IPv6 TLV (type 0x0802, length=20) contains: L bit (loose/strict), Reserved bits, 8-bit PreLen (prefix length 1-128), and a 16-byte IPv6 unicast host address.

mpls, ip

wire-format §4.5

The LSPID TLV (type 0x0821, length=4+4=8 bytes value) encodes: 12 Reserved bits, 4-bit ActFlg (action indicator), 16-bit Local CR-LSP ID, and 32-bit Ingress LSR Router ID (any IPv4 address of the ingress LSR).

mpls

wire-format §4.3

The Traffic Parameters TLV (type 0x0810, length=24) encodes: 8-bit Flags (negotiable flags F1-F6 per parameter), 8-bit Frequency, 8-bit Reserved, 8-bit Weight, and five 32-bit IEEE single-precision floats: PDR, PBS, CDR, CBS, EBS. Rates are in bytes/second; burst sizes in bytes.

mpls, qos