MPLS Transport Profile (MPLS-TP) Linear Protection
updated by
- rfc-7214 — Moving Generic Associated Channel (G-ACh) IANA Registries to a New Registry
- rfc-7271 — MPLS Transport Profile (MPLS-TP) Linear Protection to Match the Operational Expectations of Synchronous Digital Hierarchy, Optical Transport Network, and Ethernet Transport Network Operators
- rfc-7324 — Updates to MPLS Transport Profile Linear Protection
Extracted elements (30)
PSC messages are restricted to the protection path to avoid interfering with normal data traffic and to eliminate race conditions from dual-path transmission. Three rapid messages are sent on state change to allow fast switching even if one or two packets are lost.
The local/remote state distinction is maintained by the PSC Control logic because the same protection domain state (e.g., Unavailable) can be reached by different causes (local LO vs. remote LO), and the reaction to subsequent inputs differs accordingly.
The PSC protocol is single-phased: the initiating LER performs the protection switchover and informs the far-end LER without waiting for acknowledgement. This means there is a short window during one-sided triggers when the two endpoints may be selecting from different paths, which self-corrects once the remote message is received.
The scope of this document covers 1:1 bidirectional protection and 1+1 bidirectional/unidirectional protection. Applicability to 1:1 unidirectional, 1:n protection, and point-to-multipoint paths is explicitly out of scope and deferred to future documents.
When a LER in a remote state receives a contradictory PSC message from the far-end (e.g., in remote Unavailable state receiving a remote FS(1,1) message), the PSC Control logic SHALL reevaluate all inputs as if the LER is in Normal state to resolve the inconsistency.
Both Reserved1 and Reserved2 fields MUST be set to 0 on transmission and ignored upon receipt. The Ver field SHALL be set to 1 for this version of the protocol.
Both the default frequency of the three rapid messages and the default frequency of continual message transmission SHALL be configurable by the operator. For management purposes, the operator SHOULD be able to retrieve current default and per-LSP actual frequency values.
For basic PSC protocol operation, the TLV Length field MUST be 0. Optional TLVs are defined for future extensions and MUST include a header indicating total length in bytes.
For protection switching within 50 ms, it is RECOMMENDED that the default interval of the first three rapid PSC messages SHOULD be no longer than 3.3 ms. Subsequent messages SHOULD be continuously transmitted with a default interval of 5 seconds.
In Protecting failure state, to prevent flapping due to intermittent faults, the LER SHOULD employ a Wait-to-Restore timer to delay return to Normal state until the network has stabilized after an SF condition is cleared.
PSC control packets SHALL be transmitted over the protection path only. This avoids affecting normal data traffic in the prevalent Normal state and prevents race conditions that could arise if messages were sent on both paths.
The operator commands Forced Switch, Manual Switch, Clear, and Lockout of protection MUST be supported by the Local Request logic. The hold-off timer for server-layer alarm indication SHOULD be configurable by the network operator.
The PT field inconsistency between endpoints SHALL cause an alarm to be sent to the management system. If the Revertive (R) field is inconsistent between endpoints (one revertive, one non-revertive), the management system SHOULD be notified.
To revert from Do-not-Revert state back to Normal state, the administrator SHALL issue a Lockout of protection command followed by a Clear command. The protection domain SHALL remain in Do-not-Revert state until such a command sequence or a new trigger.
When the LER transitions into Normal state, the PSC Control Process SHALL check the persistent state of local triggers to decide if it should further transition into a new state. In Normal state, the end point SHALL transmit an NR(0,0) message.
When the protection domain state changes due to a local input, three PSC messages SHALL be transmitted as quickly as possible. After the three rapid messages, the LER MUST retransmit the most recently transmitted PSC message on a continual basis.
When the WTR timer expires prior to being stopped, it SHALL generate a WTR Expires local signal. If a Stop command is issued while the timer is running, it SHALL reset and stop the timer but SHALL NOT generate a WTR Expires signal.
When using 1+1 unidirectional protection, an LER that receives a remote request SHALL NOT perform any protection switching action; it will continue to select traffic from the working path and transport traffic on both paths.
The FPath field (8 bits) identifies which path is in fault or affected by an administrative command: 0=protection path anomaly, 1=working path anomaly. Values 2-255 are for future extensions and SHALL be ignored. The Path field (8 bits) indicates whether user data is on the protection path: 0=protection path not carrying user traffic, 1=protection path substituting for working path.
The Protection Type (PT) field (2 bits) indicates the configured protection architecture: 3=bidirectional switching with permanent bridge (1+1), 2=bidirectional switching with selector bridge (1:1), 1=unidirectional switching with permanent bridge, 0=reserved. It SHOULD be validated for consistency across both endpoints.
The PSC channel type assigned by IANA is PSC-CT=0x0024, carried in the G-ACh as specified by RFC 5586. There is a single channel type for all PSC messages; the actual message function is identified by the Request field of the ACH payload.
The PSC Request field is 4 bits encoding the current protection condition: 0=No Request, 1=Do-not-Revert, 4=Wait-to-Restore, 5=Manual Switch, 7=Signal Degrade, 10=Signal Fail, 12=Forced Switch, 14=Lockout of protection. All other values are reserved for future extensions and SHALL be ignored upon receipt.
IANA assigned Pseudowire Associated Channel Type 0x0024 (no TLV follows) for the Protection State Coordination Protocol Channel Type (PSC-CT) in the 'Pseudowire Associated Channel Types' registry, requiring IETF Review.
IANA created the 'MPLS PSC Request Registry' under MPLS OAM Parameters, allocating 4-bit values via Standards Action. Initial assignments: 0=No Request, 1=Do-not-Revert, 4=Wait-to-Restore, 5=Manual Switch, 7=Signal Degrade, 10=Signal Fail, 12=Forced Switch, 14=Lockout of protection.
IANA created the 'MPLS PSC TLV Registry' under MPLS OAM Parameters for optional TLV extensions to the PSC protocol. Code points are allocated via the IETF Review procedure. No TLV units are defined for basic PSC operation in this document.
Accidental corruption of PSC messages (through faulty implementations or random corruption) is a concern, particularly changes to the Request, FPath, and Path fields which would alter peer endpoint behavior. However, state transitions are designed to converge on a known stable behavior even in the presence of messages that do not match reality.
The G-ACh can be used as a covert channel providing end-to-end connectivity that SHOULD NOT be policed by transit nodes, making it impossible to simply prevent arbitrary traffic between consenting nodes. Injection or modification of PSC control messages requires subversion of a transit node, which is considered hard in MPLS networks and not addressable at the protocol level.
Priority of inputs from highest to lowest: Clear, Lockout of protection, Forced Switch, Signal Fail on protection, Signal Fail on working, Signal Degrade on working, Clear Signal Fail/Degrade, Manual Switch, WTR Expires, No Request. Remote messages are assigned priority just below the analogous local input.
The PSC Control logic maintains six protection domain states: Normal, Unavailable, Protecting failure, Protecting administrative, Wait-to-Restore, and Do-not-Revert. Transitions are triggered by local inputs (OAM, operator commands, WTR timer) or remote PSC messages from the far-end LER, with priority rules governing which input drives the state change.
The PSC packet is encapsulated in a G-ACh header followed by a 32-bit PSC payload word containing: Ver (2 bits), Request (4 bits), PT (2 bits), R (1 bit), Reserved1 (7 bits), FPath (8 bits), Path (8 bits); a second 32-bit word holds TLV Length (16 bits) and Reserved2 (16 bits); optional TLVs follow.