Transparent Interconnection of Lots of Links (TRILL): RBridge Channel Support
updated by
- rfc-7978 — Transparent Interconnection of Lots of Links (TRILL): RBridge Channel Header Extension
Extracted elements (26)
RBridge Channel messages are designed to look like TRILL Data frames so that transit RBridges can normally handle them without special processing. The optional RBridge Channel Alert extended header flag is used only when transit RBridge examination is required, minimizing unnecessary burden on transit RBridges.
The RBridge Channel is analogous to the MPLS Generic Associated Channel (RFC 5586), but instead of a special MPLS label, it uses a special multicast Inner.MacDA (All-Egress-RBridges) and inner Ethertype to indicate a channel message, fitting naturally into the TRILL Data frame model.
Single-hop RBridge Channel messages may be sent over links in the Detect or 2-Way adjacency state (not yet fully up) when specified by the channel protocol, enabling protocols like BFD to operate before full link establishment. Multi-hop messages follow normal TRILL Data forwarding and require Report state.
All RBridges implementing the RBridge Channel feature MUST recognize the RBridge Channel Error protocol value (0x001) and MUST NOT generate an RBridge Channel Error message in response to an RBridge Channel Error message.
All RBridges supporting the RBridge Channel facility MUST recognize the RBridge-Channel inner Ethertype, and MUST recognize the Any-RBridge egress nickname in TRILL Data frames, decapsulating such frames if they meet other checks.
If an RBridge Channel Alert extended header flag is set, the RBridge MUST process the RBridge Channel message even if it is not the egress RBridge.
In native RBridge Channel frames, the NA (Native) bit in the RBridge Channel Header flags MUST be a one.
Multi-destination RBridge Channel messages MUST have the Inner.VLAN ID set to the VLAN of interest, as they are VLAN-scoped like all multi-destination TRILL Data messages.
On decapsulation, the special Inner.MacDA value of All-Egress-RBridges MUST be recognized to trigger checking the Inner.Ethertype and processing as an RBridge Channel message if that Ethertype is RBridge-Channel.
Outgoing RBridge Channel messages SHOULD be rate-limited to prevent aggressive connectivity verification or other applications consuming excessive bandwidth or causing denial-of-service. Connectivity-checking applications such as BFD SHOULD be rate-limited to below 5% of the bitrate of the associated link.
RBridge Channel messages SHOULD only be sent to RBridges that advertise support for the channel protocol involved as described in Section 5. Protocol 1 (RBridge Channel Error) MUST be implemented as part of the RBridge Channel feature.
RBridges supporting the RBridge Channel facility MUST recognize the Any-RBridge special nickname (0xFFC0) and accept TRILL Data frames with that Egress Nickname as being addressed to themselves.
Specifications for particular RBridge Channel protocols MUST consider congestion and bandwidth usage implications and provide guidance on bandwidth or packet-frequency management.
The Inner.MacSA MUST be set by the originating RBridge to a MAC address unique within the campus and owned by the originating RBridge.
Native RBridge Channel frames are sent directly between end stations and RBridges on the same link without TRILL encapsulation. They use the RBridge-Channel Ethertype, have the NA flag set to one, and may use the All-Edge-RBridges (01-80-C2-00-00-46) or TRILL-End-Stations (01-80-C2-00-00-45) multicast addresses.
RBridge Channel Error frames (protocol 0x001) are multi-hop unicast messages returned on channel-level errors unless suppressed by the SL flag, Non-critical Alert processing, or rate limiting. The ERR field is non-zero and the frame includes the first 256 bytes of the erroneous message starting with the TRILL Header.
RBridge Channel messages are transmitted as TRILL Data frames, identified by the All-Egress-RBridges multicast Inner.MacDA combined with the RBridge-Channel Ethertype. The frame structure is: Link Header, TRILL Header, Inner Ethernet Header, RBridge Channel Header, Protocol-Specific Payload, Link Trailer.
IANA created the RBridge Channel Error Codes sub-registry with values 0 (no error) through 5 (Channel Protocol reserved/unimplemented), 6-14 unassigned, 15 reserved. Allocation requires Standards Action. IANA also allocated TRILL Nickname Any-RBridge = 0xFFC0 and multicast addresses TRILL-End-Stations (01-80-C2-00-00-45) and All-Edge-RBridges (01-80-C2-00-00-46).
IANA created the RBridge Channel Header Flags sub-registry: bit 0 = SL (Silent), bit 1 = MH (Multi-hop), bit 2 = NA (Native), bits 3-11 unassigned. Allocation requires IETF Review.
IANA created the RBridge Channel Protocols sub-registry in the TRILL Parameter Registry. Protocol 0x000 and 0xFFF are reserved; 0x001 is RBridge Channel Error; 0x002-0x0FF require Standards Action; 0x100-0xFF7 require RFC Required or IESG Approval; 0xFF8-0xFFE are Private Use.
Incorrect or missing advertisement of RBridge Channel Protocol support in an RBridge's LSP could deny channel services (e.g., BFD) or cause channel messages to be sent to RBridges that do not support the feature, potentially resulting in inner frames being decapsulated and sent out Appointed Forwarder ports.
No general integrity, authentication, or encryption mechanisms are provided for RBridge Channel messages. If these services are required for a particular channel protocol, they MUST be supplied by that channel protocol. TRILL provides no protection against forging the Ingress Nickname or Outer.MacSA, which may result in misdirected return responses or error messages.
An RBridge Channel message is discarded and an error returned when: (1) Ethertype is unrecognized, (2) CHV is non-zero or header is truncated, (3) Channel Protocol is reserved or unknown, (4) ERR is non-zero with Protocol not 0x001, or (5) NA flag is set on a TRILL Data frame. At transit RBridges with only Non-critical Alert set, no error is generated and frame is forwarded.
The Inner Ethernet Header uses the All-Egress-RBridges multicast address as Inner.MacDA, an Inner.MacSA set to a campus-unique MAC address owned by the originating RBridge, and a VLAN tag with Ethertype 0x8100.
The RBridge Channel Header begins with the RBridge-Channel Ethertype (0x8946), followed by a 4-bit CHV (Channel Header Version, currently zero), a 12-bit Channel Protocol field, a 12-bit Flags field (SL, MH, NA bits plus reserved), and a 4-bit ERR field.
The TRILL Header for RBridge Channel messages uses V=0, M bit set for multi-destination or cleared for unicast, Hop Count defaulting to 0x3F, and Egress/Ingress Nickname fields as defined for TRILL Data frames.