ietf-corpus

rfc-6428

Proactive Connectivity Verification, Continuity Check, and Remote Defect Indication for the MPLS Transport Profile

D. Allan (Editor), G. Swallow (Editor), J. Drake (Editor)
date2011-11 streamIETF areartg wgmpls statusPROPOSED STANDARD pages21 canonicalhttps://www.rfc-editor.org/rfc/rfc6428 doi10.17487/RFC6428 errataview
Continuity Check, Proactive Connectivity Verification, and Remote Defect Indication functionalities are required for MPLS Transport Profile (MPLS-TP) Operations, Administration, and Maintenance (OAM). Continuity Check monitors a Label Switched Path for any loss of continuity defect. Connectivity Verification augments Continuity Check in order to provide confirmation that the desired source is connected to the desired sink. Remote Defect Indication enables an end point to report, to its associated end point, a fault or defect condition that it detects on a pseudowire, Label Switched Path, or Section. This document specifies specific extensions to Bidirectional Forwarding Detection (BFD) and methods for proactive Continuity Check, Continuity Verification, and Remote Defect Indication for MPLS-TP pseudowires, Label Switched Paths, and Sections using BFD as extended by this memo. [STANDARDS-TRACK]

updated by

Extracted elements (27)

design-rationale §3.3

CV PDU insertion interval is fixed at one per second, enabling mis-connectivity defect detection in a maximum of one second. CC PDUs are interleaved with CV PDUs, with CC used at the configured session rate and CV at 1/second.

mpls

design-rationale §3.7

In independent mode, the originating MEP ignores DOWN state received from a zero-interval peer, causing the zero-interval peer to continue sending DOWN+RDI messages indefinitely until confirmed. This design adds robustness for RDI exchange on unidirectional failures.

mpls

design-rationale §3.2

RDI is communicated via the BFD diagnostic field in CC messages rather than as a separate PDU. This keeps RDI associated with the continuity check mechanism and avoids adding a new message type. The diagnostic code field in CV messages is ignored for RDI purposes.

mpls

interoperability-note §3.1

Implementations may interoperate with legacy equipment by implementing RFC 5884 (BFD for MPLS LSPs) and RFC 5085 (VCCV for PWs) in addition to the procedures in this memo. When BFD control packets use IP encapsulation per RFC 5884, IP header fields are set as defined therein.

mpls

normative-requirement §3.5 MUST NOT

A node MUST NOT change the value in the Source MEP-ID TLV. When digest-based authentication is used, the Source ID TLV MUST NOT be included in the digest.

mpls, security

normative-requirement §3.2 MUST

A sink MEP MUST encode diagnostic code 9 (mis-connectivity defect) when CV PDU processing indicates a mis-connectivity defect. A sink MEP SHOULD encode code 1 (Control Detection Time Expired) when detection time is exceeded, and code 5 (Path Down) upon receiving LDI.

mpls

normative-requirement §3.7 MUST

All BFD packets for P2P transport LSPs MUST be sent with the M bit clear, as this document specifies bidirectional BFD only.

mpls

normative-requirement §3.6 MUST

All BFD state changes and Poll/Final exchanges MUST be done using CC packets. P/F and session state information in CV packets MUST be ignored.

mpls

normative-requirement §3.7 MUST NOT

In independent mode, an implementation MUST NOT reset bfd.RemoteDiscr upon transitioning to the DOWN state. In coordinated mode, an implementation SHOULD NOT reset bfd.RemoteDiscr until it is exiting the DOWN state.

mpls

normative-requirement §3.7.7 MUST

The My Discriminator field MUST be set to a non-zero value. The transmitted Your Discriminator value MUST reflect back the received My Discriminator field, or be set to zero if not known. A node MUST NOT change the My Discriminator field for an established BFD session.

mpls

normative-requirement §3.7.3 MUST

Traffic blocking as a consequent action upon defect entry MUST be driven only by a defect's consequent action as specified in Section 5.1.1.2 of RFC 6371. When a mis-connectivity defect occurs, all non-OAM traffic received MUST be silently discarded.

mpls

normative-requirement §3.5 MUST

When the GAL is used, the TTL field of the GAL MUST be set to at least 1, and the GAL MUST be the end of stack label (S=1).

mpls

protocol-element §3.2

CC and CV PDUs are multiplexed within a single BFD session using distinct ACH code points: BFD CC code point 0x0022 and BFD proactive CV code point 0x0023. CV PDUs are augmented with a Source MEP-ID TLV for mis-connectivity detection.

mpls, security

protocol-element §3.7.2

Defect entry criteria for CC include: BFD session timeout (loss of continuity) or receipt of LDI/Lock Report. Defect entry for CV mis-connectivity includes: unexpected encapsulation, unexpected globally unique Source MEP-ID, unexpected session discriminator in Your Discriminator field, discriminator present but with unexpected label, or incorrect BFD authentication.

mpls, security

protocol-element §3.7.4

Exit from a mis-connectivity defect state occurs when no CV messages with mis-connectivity defects have been received for a period of 3.5 seconds. Exit from loss of continuity defect differs between coordinated and independent sessions.

mpls

protocol-element §3.7

Two modes of operation exist for bidirectional LSPs: coordinated (single BFD session where both direction states are coordinated) and independent (two BFD sessions operating independently, characterized by setting bfd.MinRxInterval to zero by the source MEP).

mpls

registry §5

IANA allocated two Pseudowire Associated Channel Types: 0x0022 (MPLS-TP CC message) and 0x0023 (MPLS-TP CV message). A new CC/CV MEP-ID TLV registry was created under the Pseudowire Associated Channel Types registry, with initial values: 0=Section MEP-ID, 1=LSP MEP-ID, 2=PW MEP-ID (Standards Action required). BFD Diagnostic Code 9 (mis-connectivity defect) was also assigned.

mpls, registry

security-consideration §6

BFD authentication (optional, per RFC 5880 Section 6.7) can be applied. Although the Source MEP-ID TLV is excluded from the authentication digest, the discriminator covered by the digest is associated with the expected MEP-ID, preventing impersonation of CV messages.

mpls, security, crypto

security-consideration §6

CV improves network integrity by ensuring traffic does not leak between LSPs. Globally unique MEP-IDs provide authoritative detection of persistent traffic leaking. Non-unique MEP-IDs could result in undetected leaking when two LSPs with common MEP-IDs are misconnected, though this is considered rare and difficult to exploit maliciously.

mpls, security

state-machine §3.7.5

For independent mode, the source MEP state machine (bfd.MinRxInterval=0) does not transition out of UP except via ADMIN DOWN; LDI and LKR do not trigger DOWN from UP. The sink MEP state machine permits direct DOWN-to-UP transition and includes MIS-CONNECTIVITY as a trigger back to DOWN.

mpls

state-machine §3.7.5

The coordinated session CC state machine has states DOWN, INIT, and UP. LDI and optionally LKR cause transition from UP to DOWN. MIS-CONNECTIVITY, ADMIN DOWN, DOWN, TIMER, LDI, and LKR cause transition from UP or INIT back to DOWN.

mpls

wire-format §3.3

The G-ACh header for CC/CV/RDI is a 32-bit field: first nibble 0001b identifies the G-ACh, followed by Version and Flags (both set to 0), and a 16-bit BFD CC/CV code point (0x0022 for CC, 0x0023 for CV).

mpls

wire-format §3.5.2

The LSP MEP-ID TLV (Type=1) contains a 32-bit Global_ID, 32-bit Node Identifier, 16-bit Tunnel_Num (unique within Node context), and 16-bit LSP_Num (unique within Tunnel context). Applicable to LSPs and SPMEs.

mpls

wire-format §3.4

The MPLS-TP CC message consists of the G-ACh header (with BFD CC code point 0x0022) prepended to a standard BFD control packet as defined in RFC 5880.

mpls

wire-format §3.5

The MPLS-TP CV message consists of the G-ACh header (with BFD CV code point 0x0023), followed by a BFD control packet, followed by a Source MEP-ID TLV. The Source MEP-ID TLV is a 2-octet Type, 2-octet Length, and variable-length Value field. The BFD control packet length field does not include the Source MEP-ID TLV length.

mpls

wire-format §3.5.3

The PW End Point MEP-ID TLV (Type=2) contains a 32-bit Global_ID, 32-bit Node Identifier, 32-bit AC_ID, and a variable-length AGI (Attachment Group Identifier) with 1-byte Type, 1-byte Length, and variable Value fields.

mpls

wire-format §3.5.1

The Section MEP-ID TLV (Type=0) contains a 32-bit MPLS-TP Global_ID, 32-bit Node Identifier, and 32-bit Interface Number, identifying a section maintenance endpoint.

mpls