rfc-9600

TRansparent Interconnection of Lots of Links (TRILL): Explicit Congestion Notification (ECN) Support

D. Eastlake 3rd, B. Briscoe
date2024-08 streamIETF areartg wgtrill statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc9600 doi10.17487/RFC9600
Explicit Congestion Notification (ECN) allows a forwarding element to notify downstream devices, including the destination, of the onset of congestion without having to drop packets. This can improve network efficiency through better congestion control without packet drops. This document extends ECN to TRansparent Interconnection of Lots of Links (TRILL) switches, including integration with IP ECN, and provides for ECN marking in the TRILL header extension flags word (RFC 7179).

Extracted elements (22)

design-rationale §2

NCCE (codepoint 11) is named differently from IP's CE to reflect that it is placed in the non-critical (NCHbH) flags range, meaning an ECN-ignorant transit RBridge will not be forced to drop the packet, while an ECN-aware egress can still propagate it as CE.

ecn

design-rationale §1

The scheme is designed so that even if an egress RBridge is ECN-ignorant, it will drop CCE-marked packets (via default CItE drop behavior), ensuring that congestion is at minimum signaled by packet loss rather than being silently ignored.

ecn, congestion

interoperability-note §4.2

For L4S (RFC 9331), a transit TRILL RBridge classifies packets with TRILL-ECN bit13=1 into the L4S queue and others into the Classic queue, using CCE for critical and NCCE for non-critical marking; an L4S-unaware egress will still drop CCE at p² probability, matching the Classic drop likelihood.

ecn, congestion

interoperability-note §4.1

For Pre-Congestion Notification (PCN, RFC 6660), the CCE flag maps to the Excess-Traffic-Marked (ETM) codepoint and ECT(1) in TRILL-ECN maps to the Threshold-Marked (ThM) codepoint; no changes to ingress or egress behavior are required to support PCN alongside classic ECN.

ecn, congestion

interoperability-note §3.3.2

The egress ECN mappings in Table 3 are consistent with those for IP-in-IP tunnels defined in RFC 6040, ensuring backward compatibility with all current and past ECN variants and forward compatibility with future forms complying with RFC 9599 guidelines.

ecn

normative-requirement §3.2 MUST

A transit RBridge does not examine the TRILL-ECN field before signaling CCE; it signals CCE regardless of whether the packet indicates an ECN-capable transport. The egress is responsible for converting CCE to a drop if the transport is not ECN-capable.

ecn

normative-requirement §3.3.2 MUST

An ECN-capable egress RBridge MUST set the ECN field of the outgoing native IP packet to the codepoint at the intersection of the inner IP ECN row and the arriving TRILL 3-bit ECN codepoint column in Table 3. If no flags word is present, the 3-bit codepoint is assumed to be all zeros.

ecn

normative-requirement §3.2 MUST

An RBridge supporting ECN MUST implement some form of Active Queue Management (AQM) according to RFC 7567 guidelines, detecting congestion by monitoring queue depth or participating in a link-specific protocol.

ecn, congestion

normative-requirement §3.3.2 MUST

At the egress, when the arriving TRILL 3-bit ECN codepoint is CE but the encapsulated inner IP header is Not-ECT, the egress RBridge MUST drop the packet, because a non-ECN-capable transport above IP will only understand dropped packets as congestion signals.

ecn, congestion

normative-requirement §3.2 MUST

At transit, if a flags word is present and the AQM decides to signal critical congestion on a TRILL Data packet, the transit RBridge MUST set the CCE flag (bit 26). Classic ECN only uses critical congestion indications; PCN and L4S variants also use non-critical indications.

ecn, congestion

normative-requirement §3.3.2 SHOULD

Combinations marked with an asterisk in Table 3 (currently unused in all ECN variants) SHOULD be logged by the egress RBridge as anomalous.

ecn

normative-requirement §3.2 MAY

If no TRILL header flags word is present on a congested packet, the transit RBridge MAY add a flags word, set TRILL-ECN to Not-ECT (00), and set CCE along with the CRItE summary bit instead of dropping the packet.

ecn, congestion

normative-requirement §3.3.2 MUST

When decapsulating a non-IP inner frame with an ECN indication understood by the RBridge, the egress MUST follow RFC 9599 Section 4.4 guidelines to set ECN information in the decapsulated native frame, combining the TRILL flags word with the inner frame per Table 3.

ecn

normative-requirement §3.1 MUST

When encapsulating a non-IP frame whose protocol has an ECN capability indication, the ingress RBridge MUST follow the guidelines in RFC 9599 Section 4.3 to add a flags word to the TRILL header, copying from the native frame's ECN field into TRILL-ECN.

ecn

normative-requirement §3.1 MUST

When encapsulating an IP frame, an ingress RBridge MUST set the F flag in the main TRILL header, create a flags word, copy the two ECN bits from the IP header into TRILL-ECN (bits 12–13), and ensure the CCE flag (bit 26) is set to zero.

ecn

protocol-element §3.3.1

Non-ECN egress RBridges ignore TRILL-ECN bits 12–13 but, because drop is the default decapsulation behavior for an unknown CItE flag, they will drop any packet where a transit RBridge set CCE (bit 26), providing implicit congestion notification.

ecn, congestion

protocol-element §3.3.2

Table 3 defines the full egress ECN behavior as a 4×4 lookup of inner native header ECN (Not-ECT, ECT(0), ECT(1), CE) against the arriving TRILL 3-bit ECN codepoint (Not-ECT, ECT(0), ECT(1), CE), producing the outgoing ECN value or a drop action.

ecn

protocol-element §3.3.2

The 3-bit TRILL ECN codepoint used at egress is derived by combining the 2-bit TRILL-ECN field and the 1-bit CCE field per Table 2: if either NCCE or CCE is set, the 3-bit codepoint is CE; otherwise it matches the TRILL-ECN value.

ecn

protocol-element §2

The TRILL-ECN field encodes four codepoints: Not-ECT (00), ECT(1) (01), ECT(0) (10), and NCCE (Non-Critical Congestion Experienced, 11). The first three match the IP ECN field codepoints; NCCE is named distinctly from CE to reflect its non-critical (ingress-to-egress) semantics.

ecn

registry §5

IANA updated the 'TRILL Extended Header Flags' registry: bits 12–13 are now assigned to TRILL-ECN (Explicit Congestion Notification) and bit 26 to CCE (Critical Congestion Experienced), both referencing RFC 9600.

registry, ecn

security-consideration §6

TRILL ECN support introduces no significant new security considerations beyond those already specified for ECN in lower-layer protocols (RFC 9599, RFC 6040) and for the TRILL protocol itself (RFC 6325).

security, ecn

wire-format §2

ECN marking uses two fields in the 32-bit TRILL header extension flags word: a 2-bit TRILL-ECN field at bits 12–13 (in the NCHbH range) and a 1-bit CCE (Critical Congestion Experienced) field at bit 26 (in the CItE range). The F flag in the main TRILL header must be set whenever the flags word is present.

ecn, crypto, security