MPLS Generic Associated Channel
updated by
- rfc-6423 — Using the Generic Associated Channel Label for Pseudowire in the MPLS Transport Profile (MPLS-TP)
- rfc-7026 — Retiring TLVs from the Associated Channel Header of the MPLS Generic Associated Channel
- rfc-7214 — Moving Generic Associated Channel (G-ACh) IANA Registries to a New Registry
- rfc-7274 — Allocating and Retiring Special-Purpose MPLS Labels
updates
Extracted elements (26)
A new reserved label (GAL=13) was assigned rather than reusing the existing OAM Alert Label (14) from RFC 3429 because G-ACh messages reside behind an ACH (not immediately after the label), the scope of maintenance functions is broader, and existing implementations use label 14 in ways that cannot be changed.
The GAL mechanism is defined as RECOMMENDED (rather than mandatory) for identifying MPLS OAM packets when IP-based mechanisms (TTL expiry, 127/8 addressing) are unavailable, but MAY also be used in addition to IP-based mechanisms in environments where both are possible.
An LER, LSR, or PE MUST discard received associated channel packets on which all MPLS/PW labels have been popped if it cannot process the indicated Channel Type, has not agreed to process it, the packet is on a locally-disabled Experimental Channel Type, the first nibble is not 0001b (when GAL-indicated), or the ACH version is unrecognized.
It is RECOMMENDED that no further OAM extensions based on the 'OAM Alert Label' (Label 14) from RFC 3429 be specified or developed, to avoid conflicts with existing deployments and to consolidate on the GAL mechanism.
A receiving LSR, LER, or PE MUST NOT forward a G-ACh packet to another node based on the GAL label.
Each document specifying a protocol solution that relies on the ACH MUST also specify the applicable Channel Type field value.
For PWs, the PWE3 control word MUST be present in the encapsulation of user packets when the ACH is used to realize the associated control channel.
Functions using experimental G-ACh Channel Type code points MUST be disabled by default, and the Channel Type value used for a given experimental OAM function MUST be configurable to avoid interoperability conflicts.
If an ACH Channel Type definition states that ACH TLVs MAY be used, an ACH TLV Header MUST follow the ACH. If no TLVs are needed but the Channel Type permits them, the ACH TLV Header MUST still be present with a Length field of zero.
If an ACH Channel Type specification does not explicitly specify that ACH TLVs MAY be used, then the ACH TLV Header MUST NOT be used.
In MPLS-TP, the GAL MUST be used with G-ACh packets on LSPs, Concatenated Segments of LSPs, and Sections, and MUST NOT be used with PWs. It MUST always be at the bottom of the label stack (S bit set to 1).
LSRs MUST NOT modify the G-ACh message, the ACH, or the GAL towards the targeted destination while forwarding an LSP G-ACh packet.
The G-ACh MUST NOT be used to transport user traffic. It is exclusively for control channel messages such as OAM, APS, SCC, and MCC.
The GAL MUST NOT appear in the label stack when transporting normal user-plane packets, and when present MUST NOT appear more than once in the label stack.
Where the GAL is at the bottom of the label stack (S bit set to 1), it MUST always be followed by an ACH.
The G-ACh Label (GAL) is MPLS reserved label value 13, used as a label-based exception mechanism to differentiate G-ACh packets from user-plane packets and to indicate that the ACH appears immediately after the bottom of the label stack.
The Generic Associated Channel (G-ACh) generalizes the PW Associated Channel Header (ACH) to apply to MPLS LSPs and Sections in addition to pseudowires. It provides an in-band control channel for OAM, APS, SCC, and MCC messages that does not depend on PSN routing or dynamic control plane functions.
IANA assigned label value 13 to the GAL from the reserved labels pool in the 'Multiprotocol Label Switching Architecture (MPLS) Label Values' registry.
IANA created a new 'Associated Channel Header TLV Registry' with IETF Review allocation policy, recording Name, Type, Length (octets), Description, and Reference. Initially empty.
The PW Associated Channel Type registry allocation policy was updated: values 0-32751 use IETF Review, and values 32760-32767 are Experimental. Experimental code points MUST be used per RFC 3692 guidelines and functions using them MUST be disabled by default.
The security considerations for the associated control channel from RFC 4385 apply. Further security considerations MUST be described in each relevant associated channel type specification. RFC 5085 data-plane security considerations also apply to the G-ACh regardless of whether GAL or ACH-only alerting is used.
An ACH TLV Object consists of a 16-bit Type field, a 16-bit Length field (number of octets in Value), and a variable-length Value field. The Value MAY contain sub-TLVs. No padding is required for individual TLVs or sub-TLVs.
For an LSP G-ACh packet, the label stack contains an LSP Label LSE followed by a GAL LSE, then the ACH, an optional ACH TLV Header, optional ACH TLVs, and the G-ACh message. The TTL of the GAL LSE MUST be set to at least 1.
For an MPLS Section G-ACh packet, the GAL is the only label in the stack (as the sole LSE), followed by the ACH, optional ACH TLV Header, optional ACH TLVs, and the G-ACh message.
The ACH TLV Header is a 32-bit field: a 16-bit Length field specifying the total length in octets of all following TLVs, and a 16-bit Reserved field that MUST be set to zero on transmission. A length of zero indicates no ACH TLVs follow.
The Associated Channel Header (ACH) is a 32-bit header with the first nibble fixed to 0001b, a Version field set to 0, an 8-bit Reserved field (bits 8-15, MUST be zero), and a 16-bit Channel Type field (bits 16-31) in network byte order.