Fast Reroute Extensions to RSVP-TE for LSP Tunnels
updated by
- rfc-8271 — Updates to the Resource Reservation Protocol for Fast Reroute of Traffic Engineering GMPLS Label Switched Paths (LSPs)
- rfc-8537 — Updates to the Fast Reroute Procedures for Co-routed Associated Bidirectional Label Switched Paths (LSPs)
- rfc-8796 — RSVP-TE Summary Fast Reroute Extensions for Label Switched Path (LSP) Tunnels
- rfc-9705 — Refresh-Interval Independent RSVP Fast Reroute Facility Protection
Extracted elements (31)
An LSR on the path of a protected LSP should always assume it is a merge point because the facility backup method does not signal backups through the bypass tunnel before failure. Without this assumption, the MP would not correctly handle traffic arriving via the bypass tunnel after a failure.
Global revertive mode is preferred over local revertive mode because the head-end LSR has a more complete view of resources and TE LSP constraints and can reoptimize to a more optimal path. Local revertive mode can cause multiple traffic disruptions due to resource flapping and reverts all LSPs indiscriminately without considering TE attributes.
The FAST_REROUTE object uses high-order Class-Num bits '11', causing LSRs that do not understand it to ignore it and pass it forward unchanged. This makes FAST_REROUTE backward compatible with existing LSRs. By contrast, the DETOUR object uses high-order bit '0', deliberately causing non-supporting LSRs to reject Path messages and send a PathErr, since the path-specific one-to-one method requires network-wide DETOUR support to function correctly.
Two different fast-reroute methods (one-to-one and facility backup) were independently deployed in operational networks before this document. Vendors experienced compatibility problems interoperating between them. This document rationalizes RSVP signaling for both so any implementation can recognize all fast reroute requests and respond clearly, rather than converging on a single approach given irresolvable topology-dependent tradeoffs.
A C-Type 7 legacy format for FAST_REROUTE (Class-Num 205) is documented for pre-standard implementations. It lacks the Flags byte and has a Reserved byte instead. C-Type 7 is reserved in the IANA registry to avoid breaking these deployments.
If a PLR is configured with local revertive mode but the MP is not, any attempt by the PLR to resignal the TE LSP over a restored resource will fail because the MP will not send a Resv message. The LSP will continue using the backup tunnel until re-optimized by the head-end.
LSRs that do not recognize the FAST_REROUTE object (Class-Num 205, high-order bits 11) will ignore and pass it forward unchanged, providing backward compatibility. This means facility backup can be deployed incrementally without requiring all nodes to be upgraded simultaneously.
A backup path must inherit its LSP ID from the associated protected LSP. The only SENDER_TEMPLATE field that may differ between a backup path and its protected LSP is the 'IPv4 (or IPv6) tunnel sender address'.
A PLR MUST NOT mix messages for the protected and detour LSPs. Resv, ResvTear, and PathErr messages from the detour destination MUST NOT be forwarded upstream. When a PLR receives a PathTear from upstream, it MUST delete both the protected and the detour LSPs and PathTear MUST propagate to both.
During facility backup ERO processing, before sending a Path message via a bypass tunnel, the PLR MUST remove all sub-objects preceding the first address belonging to the MP and replace this first MP address with an IP address of the MP, to avoid the MP rejecting the message due to a bad initial sub-object.
Every LSR along a protected LSP (except the egress) MUST follow PLR behavior. Until a PLR has a backup path available, it MUST clear the relevant four RRO flags; whenever a backup is available it MUST set 'local protection available'; it MUST clear 'local protection in use' unless actively redirecting to the backup.
For backup path computation via CSPF, the backup LSP MUST NOT traverse the downstream node/link whose failure is being protected against, and the destination MUST be the tail-end (for detour LSPs) or the address of the MP (for bypass tunnels).
In the path-specific method, when an LSR (MP) receives multiple Path messages from different interfaces with identical SESSION and SENDER_TEMPLATE, Path state merging is REQUIRED. If Path messages do not share an outgoing interface and next-hop LSR, the MP MUST consider them independent LSPs and MUST NOT merge them.
LSRs that do not support the DETOUR object MUST reject any Path message containing a DETOUR object and send a PathErr to notify the PLR. This PathErr SHOULD be generated as specified in [RSVP] for unknown objects with Class-Num of form '0bbbbbbb'.
The FAST_REROUTE object MUST only be inserted into a PATH message by the head-end LER and MUST NOT be changed by downstream LSRs. If a head-end LSR signals a FAST_REROUTE object, it MUST be stored for Path refreshes.
The globally revertive mode SHOULD always be used. When local revertive mode is not used, head-end LSRs SHOULD react to RSVP error messages and/or IGP indications in order to make a timely response to failures.
The head-end LSR of a protected LSP MUST support the additional bandwidth and node protection flags in the RRO IPv4/IPv6 sub-objects and MUST support the RRO Label sub-object. If local protection is newly desired, this SHOULD be signaled via make-before-break.
To indicate that an LSP should be locally protected, the head-end LSR MUST either set the 'local protection desired' flag in SESSION_ATTRIBUTE or include a FAST_REROUTE object (or both). The head-end LSR of a protected LSP MUST set the 'label recording desired' flag in the SESSION_ATTRIBUTE object.
When a downstream LSR detects a local link failure, Path and Resv state for protected LSPs routed over the failed link MUST NOT be cleared, and PathTear/ResvErr messages MUST NOT be sent immediately. The LSR SHOULD reset refresh timers as if just refreshed. State MUST be removed if not refreshed before the timer expires.
When signaling a detour LSP, the PLR MUST clear SESSION_ATTRIBUTE flags 'Local protection desired', 'Bandwidth protection desired', and 'Node protection desired', MUST remove the FAST_REROUTE object from the detour's PATH message, and MUST generate an EXPLICIT_ROUTE object toward the egress. The detour MUST use the same reservation style as the protected LSP.
When the PLR detects a failure on the protected LSP, it MUST rapidly switch packets to the backup LSP within tens of milliseconds. The goal is to effect the redirection with no path computation or signaling delays.
The facility backup method creates a single bypass tunnel that protects multiple LSPs sharing a common path segment. By using MPLS label stacking, the PLR pushes the bypass tunnel label onto packets rerouted through it, and the merge point pops it and forwards based on the inner label.
The one-to-one backup method creates a separate detour LSP for each protected LSP at each PLR. A detour intersects the original LSP downstream of the potential failure and traffic is switched onto it in tens of milliseconds when a failure is detected.
Two new RRO IPv4/IPv6 sub-object flags: 'Bandwidth protection' (0x04) indicates the backup path guarantees the desired bandwidth; 'Node protection' (0x08) indicates the backup path protects against failure of the immediate downstream node. PLRs set or clear these to report actual protection status.
Two new SESSION_ATTRIBUTE flags: 'Bandwidth protection desired' (0x08) requests a backup path with a bandwidth guarantee equal to the protected LSP bandwidth or the value in FAST_REROUTE; 'Node protection desired' (0x10) requests a backup that bypasses at least the next node of the protected LSP.
IANA assigned Class-Num 205 for the FAST_REROUTE object. C-Type 1 is the standards-defined format; C-Type 7 is reserved for pre-standard implementations. C-Types 0–127 by Standards Action; 128–191 by Expert Review; 192–255 for Vendor Private Use (first four octets must be the Vendor's SMI Enterprise Code).
IANA assigned Class-Num 63 for the DETOUR object. C-Types 7 (IPv4) and 8 (IPv6) are defined. C-Types 0–127 are assigned by Standards Action; 128–191 by Expert Review; 192–255 reserved for Vendor Private Use (first four octets after C-Type must be the Vendor's SMI Private Enterprise Code).
This document does not introduce new security issues; the security considerations of the base RSVP protocol remain relevant. However, the facility backup method requires that a PLR and its selected merge point trust RSVP messages received from each other, as the PLR forwards protected LSP control traffic through the bypass tunnel.
DETOUR object for IPv4 (Class-Num 63, C-Type 7): variable-length list of (PLR_ID, Avoid_Node_ID) pairs, each 4 bytes (IPv4). PLR_ID identifies the PLR beginning the detour; Avoid_Node_ID identifies the immediate downstream node being avoided. High-order bit of Class-Num is 0, so LSRs that do not support it MUST reject and send PathErr.
DETOUR object for IPv6 (Class-Num 63, C-Type 8): variable-length list of (PLR_ID, Avoid_Node_ID) pairs, each 16 bytes (IPv6 128-bit unicast host address). Any local address on the PLR or downstream node may be used.
FAST_REROUTE object (Class-Num 205, C-Type 1): 20 bytes total, containing Setup Priority (1 byte), Hold Priority (1 byte), Hop-limit (1 byte), Flags (1 byte, 0x01=one-to-one desired, 0x02=facility backup desired), Bandwidth (4-byte IEEE float, bytes/sec), Include-any (4 bytes), Exclude-any (4 bytes), Include-all (4 bytes). High-order bits of Class-Num are 11, causing unknown nodes to ignore and forward unchanged.