MPLS On-Demand Connectivity Verification and Route Tracing
updates
- rfc-4379 — Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures
Extracted elements (29)
In certain MPLS-TP deployment scenarios, IP addressing may not be available or non-IP encapsulation may be preferred. This motivated defining ACH-based non-IP procedures for on-demand CV and route tracing, using the new On-Demand CV channel type (0x0025) rather than requiring IP host stack support.
RFC 4379 defined DSMAP address types without creating a formal IANA registry, creating the possibility of 'address-type' collisions. This document retroactively establishes the Downstream Mapping Address Type registry to manage assignments for both RFC 4379 and future documents.
The non-IP encapsulation procedures defined in this document apply exclusively to MPLS-TP transport paths. For non-MPLS-TP LSPs where IP addressing is used, the procedures from RFC 4379 MUST be used without the extensions defined here.
ACH TLVs SHALL NOT be associated with the new on-demand CV pseudowire associated channel type (0x0025).
An on-demand CV packet MUST NOT include more than one Destination Identifier TLV. If more than one is present, error 1 (Malformed echo request) MUST be returned if the source can be unambiguously identified.
At the Requester, when encapsulating an LSP echo request packet using ACH, a GAL MUST be added before adding the MPLS LSP label. The GAL MUST NOT be considered part of the MPLS label stack requiring verification, and a Nil FEC TLV MUST NOT be associated with the GAL.
If a node cannot identify the LSP on which an echo response would be sent, the node MUST drop the echo request packet and not send any response. All responses MUST always be sent on an LSP path using the ACH header and ACH channel type of on-demand CV.
In order for the on-demand CV packet to be processed at the desired MIP, the TTL of the MPLS label MUST be set such that it expires at the MIP to be probed.
On-demand CV OAM using IP encapsulation MUST be supported for MPLS-TP LSPs when IP addressing is in use. The echo response MUST be sent on the reverse path of the LSP, and the reply MUST contain IP/UDP headers followed by the on-demand CV payload.
On-demand CV using ACH SHOULD NOT be used when there is ECMP for a given LSP, as the additional ACH header can modify hashing behavior and result in incorrect monitoring of the path taken by data traffic.
On-demand route tracing packets sent by the Requester MUST follow procedures described in RFC 4379, and this form of on-demand CV OAM MUST be supported for MPLS-TP LSPs when IP addressing is used.
On receipt of the echo response for reverse-path CV, the requesting node MUST perform interface and label-stack validation, and if the Reverse-path Target FEC Stack TLV is present, MUST perform FEC validation. If any validation fails, the echo response MUST be dropped.
The GAL MUST NOT be included in DSMAP or DDMAP TLVs. Interface and Label Stack TLVs MUST include the whole label stack including the GAL.
When IP addressing is used in non-MPLS-TP LSPs, procedures specified in RFC 4379 MUST be used rather than the non-IP encapsulation procedures defined in this document.
When the R (Validate Reverse Path) flag is set in the echo request, the Responder SHOULD return reverse-path FEC information. The R flag MUST NOT be set in the echo response.
When using non-IP on-demand CV via ACH, the on-demand CV request payload MUST directly follow the ACH header, and the LSP ping Reply mode SHOULD be set to 4 (Reply via application level control channel).
A new Global flag 'Validate Reverse Path' (R) is defined in the LSP ping packet header (Global Flags field bit vector: MBZ|R|T|V). When set in an echo request, the Responder SHOULD return a Reverse-path Target FEC Stack TLV in the echo response.
A new Non-IP address type (type 5, 12 octets) is defined for use in DSMAP and DDMAP TLVs. It indicates no address is present but includes ingress IF_Num and egress IF_Num (4 octets each) for interface identification. When this address type is used, interface verification MUST be bypassed on receipt.
The Reverse-path Target FEC Stack TLV (type 16) has the same format as the Target FEC Stack TLV defined in RFC 4379. Sub-TLV assignments for both TLVs MUST be kept identical; any new sub-type added to the Target FEC Stack TLV MUST also apply to the Reverse-path Target FEC Stack TLV.
IANA assigned PW ACH Type 0x0025 for 'On-Demand CV' (TLV Follows: No) in the Pseudowire Associated Channel Types registry.
IANA assigned sub-type values 22 (Static LSP) and 23 (Static Pseudowire) to new Target FEC Stack sub-TLVs in the MPLS LSPs Ping Parameters 'TLVs and sub-TLVs' sub-registry.
IANA assigned TLV types 13 (Source ID, 8 octets) and 14 (Destination ID, 8 octets) from the MPLS LSPs Ping Parameters 'TLVs and sub-TLVs' sub-registry (Standards Action range).
IANA assigned type value 16 to the Reverse-path Target FEC Stack TLV in the MPLS LSPs Ping Parameters 'TLVs and sub-TLVs' sub-registry.
IANA established a new Downstream Mapping Address Type registry covering types 1-5 (IPv4 Numbered, IPv4 Unnumbered, IPv6 Numbered, IPv6 Unnumbered from RFC 4379, and Non IP from this document). The allocation policy is Standards Action due to the 8-bit field size.
Deployments of on-demand CV for transport paths across MPLS administrative boundaries present a risk of unsolicited or spoofed OAM messages. It is RECOMMENDED that Source Identifier TLVs be included in on-demand CV messages in such scenarios, allowing implementations to filter OAM messages from unexpected or unknown sources.
Source and Destination Identifier TLVs share the same 12-octet format: Type (2 octets, 13=Source or 14=Destination), Length=8 (2 octets), Global_ID (4 octets), Node_ID (4 octets), as defined in RFC 6370.
The DSMAP/DDMAP Non-IP address format is 12 octets: MTU (2 octets), Address Type (1 octet, value 5), DS Flags (1 octet), Ingress IF_Num (4 octets), Egress IF_Num (4 octets), followed by Multipath Type, Depth Limit, and Multipath Length fields.
The Static LSP FEC Sub-TLV (sub-type 22, 24 octets) contains: Source Global ID (4), Source Node ID (4), Source Tunnel Number (2), LSP Number (2), Destination Global ID (4), Destination Node ID (4), Destination Tunnel Number (2), Must be Zero (2). Global IDs MAY be set to zero when not applicable.
The Static Pseudowire FEC Sub-TLV (sub-type 23, 32 octets) contains: Service Identifier (8 octets, a 64-bit unsigned integer), Source Global ID (4), Source Node ID (4), Source AC-ID (4), Destination Global ID (4), Destination Node ID (4), Destination AC-ID (4).