Segmented Pseudowire
updated by
Extracted elements (28)
MS-PWs allow inter-AS L2VPN deployments to confine cryptographic key administration to just the PW switching points at domain boundaries, rather than requiring crypto on every T-PE. This is the primary motivation for the MS-PW architecture over SS-PW in multi-domain scenarios.
The active T-PE role in FEC 129 is determined by comparing SAII and TAII as unsigned integers; the T-PE with the larger SAII assumes the active role. This avoids a race condition where both T-PEs independently signal through different S-PEs.
The L2TP Default L2-Specific Sublayer sequence number has different semantics than the MPLS Control Word sequence number, eliminating transparent pass-through. If sequence interworking is not supported at the switching node and the T-PE requests sequencing, the S-PE SHOULD NOT allow the session and MUST send a CDN with Result Code 31.
A switching point PE SHOULD inspect the SP-PE TLV to verify its own IP address does not appear; if detected, the PE SHOULD break the loop and send a Label Release with error code 0x0000003A 'PW Loop Detected'.
At PW switching points using AC reference model (Figure 2), the ACs for adjacent PW segments MUST be configured such that they are the same PW type (e.g., ATM VCC, Ethernet VLAN).
During MS-PW path trace, if no echo reply is received or an error code is received from a particular PE, the trace process MUST stop immediately and packets MUST NOT be sent further along the MS-PW.
Each end of an MS-PW by definition MUST terminate on a T-PE (Terminating Provider Edge).
Each S-PE along the MS-PW MUST store any PW status messages transiting it. If more than one status message with the same PW status bit set is received, only the last PW status message is stored.
For FEC 129 active/passive T-PE election when the MS-PW path is not statically configured, one T-PE MUST start PW signaling (active) while the other waits (passive); both MUST be identified before signaling is initiated.
For static MPLS and L2TPv3 PW switching, the S-PE MUST be configured to direct packets from one PW to the other, including the mapping of MPLS PW Label to L2TPv3 Session ID (and Cookie if present) and MPLS Tunnel Label to PE destination IP.
In the PW switching with attachment circuits case, PW status messages indicating PW or AC faults MUST be mapped to fault indications or OAM messages on the connecting AC.
In two LDP control planes using the same FEC type, the S-PE SHOULD assume an initial passive role and not advertise the LDP PW FEC mapping until it has received at least one of the two PW LDP FECs from a remote PE.
Interface parameters MUST be passed unchanged across the S-PE, with specific exceptions: the description string (0x03) MAY be modified or removed; the VCCV parameter (0x0C) CC Type bit 1 MUST be reset to 0, and CV/CC type bits MUST be reset to reflect S-PE capabilities.
PW Segment 1 and PW Segment 3 at an S-PE MUST be of the same PW type, though the PSN tunnel technologies on each side need not be the same.
Sending the SP-PE TLV is OPTIONAL; however, the PE or S-PE MUST process the TLV upon reception. The 'U' bit MUST be set for backward compatibility. The order of SP-PE TLVs in the LDP message MUST be preserved.
The Group ID has local significance only and MUST be mapped to a unique GR ID allocated by the S-PE when crossing a switching point.
The S-PE MUST perform a standard MPLS label swap on the PW label, decrementing the TTL per RFC 3032. When the TTL reaches 0, the packet is sent to the control plane; this mechanism enables per-S-PE VCCV targeting.
VCCV CC Type 2 (MPLS Router Alert Label) is not supported for MS-PWs and MUST be removed from the VCCV parameter field by the S-PE.
When an MS-PW includes L2TPv3 segments, MPLS PW OAM MUST be terminated at the S-PE connecting the L2TPv3 and MPLS segments. The S-PE MUST NOT forward VCCV parameters (PWid FEC TLV interface parameter) across the L2TPv3/MPLS boundary.
When pushing a new PSN label at an S-PE performing MPLS label swap, the TTL SHOULD be set to 255 or some other locally configured fixed value.
Four VCCV operations are defined for MS-PWs: (i) end-to-end connectivity verification T-PE to T-PE, (ii) partial connectivity verification, (iii) MS-PW path verification against SP-PE TLV (OPTIONAL), and (iv) MS-PW path trace using Target FEC stack (OPTIONAL).
The SP-PE TLV MAY appear only once per switching point traversed, cannot be of length zero, and is appended at each S-PE to the PW FEC. It carries sub-TLVs describing the switching point's PWid (FEC 128), FEC element (FEC 129), description string, local IP address, and remote IP address.
This document registers: an L2TPv3 AVP (PW Switching Point AVP, Attribute Type 101), an LDP TLV TYPE (SP-PE TLV, 0x096D), an LDP Status Code (PW Loop Detected, 0x0000003A), and L2TPv3 Result Codes for session teardown related to sequencing ('Sequencing not supported', Result Code 31).
The control plane security for MS-PWs follows the guidelines in RFC 5920 (MPLS PSN) and the base security considerations of RFC 4447 (LDP), RFC 3931 (L2TPv3), and RFC 3985 (PWE3 architecture). No new control plane security mechanisms are introduced.
When using VCCV CC Type 3 without the Control Word enabled, a crafted packet with a TTL greater than the number of MS-PW hops (or mis-processed TTL at an S-PE) could be mistakenly forwarded out of the attachment circuit as a native PW packet. Enabling the CW guarantees VCCV packets are never forwarded to the AC.
For dynamic LDP/MPLS to L2TPv3 switching, the S-PE always starts in passive role. On receiving an L2TPv3 ICRQ it maps AVPs to FEC identifiers and sends an LDP Label Mapping; on receiving an LDP Label Mapping it either sends an ICRP or initiates a new L2TPv3 session via ICRQ.
When a local fault is detected by the S-PE, it sends PW status messages in both directions: 'Local PSN-facing PW (egress) Transmit Fault' (0x00000010) toward the faulted segment side and 'Local PSN-facing PW (ingress) Receive Fault' (0x00000008) toward the other. Local faults always supersede remote faults; remote fault-clearing messages are only forwarded when no corresponding local fault exists.
The SP-PE TLV (type 0x096D) is a variable-length LDP TLV with a 2-byte type field (U-bit set to 1), 2-byte length, followed by Sub-TLV entries each consisting of a 1-byte type, 1-byte length, and variable-length value.