Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS
obsoletes
- rfc-6326 — Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS
Extracted elements (32)
PORT-TRILL-VER and TRILL-VER carry disjoint capability bit spaces because some capabilities (e.g., cryptographic hardware assist) can vary per port of an IS and must be advertised in IIHs, while others are IS-wide and belong in LSPs. The TRILL version number is shared between both sub-TLVs, and an adjacent IS prefers PORT-TRILL-VER for version negotiation.
Changes to TRILL-VER in RFC 7176 vs RFC 6326 are backward compatible: RFC 6326-conformant implementations only supported version zero with no optional capabilities, which is exactly what absence of the sub-TLV implies. An RFC 7176 implementation receiving an RFC 6326 TRILL-VER not in LSP zero will correctly infer version zero with no extended flag support.
The IS-IS Neighbor TLV (type 6) is not used in TRILL IIH PDUs and MUST be ignored if present; TRILL LAN IIH PDUs use the TRILL Neighbor TLV (type 145) instead. TRILL IIH PDUs use the same common header and fixed PDU header as Level 1 IIH PDUs.
TRILL uses a fixed zero Area Address encoded as a 4-byte Area Address TLV (type 0x01, length 0x02, address length 0x01, address 0x00). This distinguishes TRILL IS-IS from Layer 3 IS-IS operation on the same link.
An LSP number zero MUST NOT be originated larger than 1470 bytes, but a larger LSP number zero that is successfully received MUST be processed and forwarded normally, ensuring compatibility across implementations with different buffer sizes.
If a TRILL Neighbor TLV has L=0, its highest MAC address MUST also appear in some other TRILL Neighbor TLV. If S=0, its lowest MAC address MUST also appear in another TRILL Neighbor TLV. An IS with no neighbors MUST send a TRILL Neighbor TLV with an empty neighbor record list (both S and L bits set).
In the set of LSPs originated by an IS, the union of VLAN ranges in all INT-VLAN sub-TLV occurrences MUST be the set of VLANs for which the IS is Appointed Forwarder on at least one port, and VLAN ranges in multiple sub-TLVs MUST NOT overlap unless the information for that VLAN is identical across instances.
The originatingLSPBufferSize TLV (#14) MUST be present in LSP number zero. If multiple occurrences exist for an IS, the minimum value is used, subject to a floor of 1470 bytes.
The PORT-TRILL-VER sub-TLV, if present, MUST occur in an MT-Port-Cap-TLV in a TRILL IIH. If missing, the originating IS is assumed to support only base version zero with no optional capabilities. When multiple occurrences exist, the minimum version and intersection of capabilities apply.
The TRILL-VER sub-TLV, when present in a Router Capability TLV, MUST occur in LSP number zero for the originating IS; occurrences in other fragments are ignored. If multiple instances are in LSP zero, the minimum supported version and intersection of capabilities are used.
The VLAN-FLAGS sub-TLV MUST be carried in every TRILL IIH PDU. If the sending IS holds any nicknames, one MUST be included in the Sender Nickname field; otherwise the field is set to zero.
MTU-probe and MTU-ack PDUs carry a common 8+2*(ID Length) byte fixed header with PDU Length (2 bytes), Probe ID (6 bytes opaque), Probe Source ID (ID Length bytes), and Ack Source ID (ID Length bytes). The TLV area MUST be padded with the Padding TLV to the exact size being tested.
The Group Address TLV (GADDR-TLV, IS-IS TLV type 142) is carried in LSP PDUs and transports sub-TLVs that advertise multicast group listeners by MAC address, IPv4 address, IPv6 address, and fine-grained-labeled variants. Sub-TLVs under GADDR form their own sub-TLV type series (types 1–6).
A new TRILL Neighbor TLV NEIGHBOR RECORD Flags sub-registry is created under TRILL Parameters with Standards Action policy. Bit 0 (Fail) indicates failed MTU test and bit 1 (OOMF) indicates the IS is offering the Overload Originated Multi-destination Frame service; bits 2–7 are unassigned.
IANA IS-IS TLV registry is updated with GADDR-TLV (type 142, permitted in LSPs) and TRILL Neighbor TLV (type 145, permitted in IIHs). IANA sub-TLV registries are updated for sub-TLVs under GADDR TLV (types 1–6), MT-Port-Cap-TLV (types 1–3, 7–8), Router Capability/MT-Capability TLVs (types 6–10, 13–18), and Extended IS Reachability/MT-ISN TLVs (type 28).
Two new sub-registries are created under TRILL Parameters: TRILL-VER Sub-TLV Capability Flags (bits 0–1 assigned for Affinity support and FGL-safe, bits 14–31 for extended header flags, IETF Review policy) and PORT-TRILL-VER Sub-TLV Capability Flags (bit 0 for Hello reduction support, bits 3–13 for hop-by-hop extended flags, IETF Review policy).
This document raises no new security issues for IS-IS beyond those in the TRILL base protocol (RFC 6325). IS-IS authentication per RFC 5304 and RFC 5310 may be used to secure the IS-IS messages defined here. However, even with authentication, replays of Hello packets can create denial-of-service conditions (see RFC 6039), similar to those discussed in RFC 6325 Section 6.2.
The Affinity sub-TLV (AFFINITY, sub-TLV type 17) carries Affinity Records each with a 2-byte Nickname, 1-byte Affinity Flags (reserved, sent as zero), 1-byte Number of trees, and 2*N bytes of tree numbers. It requests that all ISs connect the named IS as a child of the originating IS for the listed distribution trees.
The Appointed Forwarders sub-TLV (MT-Port-Cap-TLV sub-TLV type 3) carries N appointment records of 6 bytes each, where each record encodes a 2-byte Appointee Nickname and an inclusive VLAN range (Start.VLAN and End.VLAN, each 2 bytes with 4-bit RESV). Sent by the DRB to designate per-VLAN forwarders.
The Enabled-VLANs sub-TLV (MT-Port-Cap-TLV sub-TLV type 2) encodes a 2-byte Start VLAN ID field (12-bit VLAN, 4-bit RESV) followed by a variable-length VLAN bit-map; each bit represents one VLAN starting from Start VLAN ID. Minimum length 3 bytes. Multiple occurrences are unioned.
The Group Labeled MAC Address sub-TLV (GLMAC-ADDR, GADDR sub-TLV type 4) extends GMAC-ADDR by replacing the 2-byte VLAN ID with a 3-byte fine-grained label field, enabling multicast listener advertisement under fine-grained labels defined in RFC 7172. Length formula: 6 + m + 6*n.
The Group MAC Address sub-TLV (GMAC-ADDR, GADDR sub-TLV type 1) encodes a 2-byte Topology-ID, 2-byte VLAN ID, 1-byte Num Group Recs, and variable-length group records each containing a 6-byte multicast MAC group address and zero or more 6-byte source MAC addresses. Length formula: 5 + m + 6*n.
The Interested Labels and Spanning Tree Roots sub-TLV (INT-LABEL, sub-TLV type 15) is a fine-grained label analogue to INT-VLAN. It encodes a 2-byte Nickname, 7-byte Interested Labels field (M4/M6/BM flags, 24-bit Label.start, 24-bit Label.end or bit-map), 4-byte AF Status Lost Counter, and 6*n root bridge IDs. Length: 11 + 6*n.
The Interested VLANs and Spanning Tree Roots sub-TLV (INT-VLAN, sub-TLV type 10) encodes a 2-byte Nickname, 4-byte Interested VLANs field (M4/M6 flags, 12-bit VLAN.start, 12-bit VLAN.end), 4-byte Appointed Forwarder Status Lost Counter, and 6*n bytes of root bridge IDs. Length: 10 + 6*n.
The MTU sub-TLV (sub-TLV type 28, within Extended IS Reachability TLV #22 and MT-ISN TLV #222) is 3 bytes: 1 byte with an F (Failed) flag and 7-bit RESV, plus 2 bytes for the MTU value. F=1 indicates MTU testing failed at the required campus-wide MTU.
The Nickname sub-TLV (NICKNAME, sub-TLV type 6) carries one or more 5-byte nickname records, each with a 1-byte Nickname.Pri (hold priority), 2-byte Tree Root Priority, and 2-byte Nickname value, as specified in RFC 6325 Section 3.7.
The Port TRILL Version sub-TLV (PORT-TRILL-VER, MT-Port-Cap-TLV sub-TLV type 7) is 5 bytes: 1-byte Max-version and a 32-bit Capabilities and Header Flags Supported vector. Bits 3–13 indicate supported hop-by-hop extended flags (RFC 7179); bits 0–2 and 14–31 are reserved for optional capabilities.
The RBridge Channel Protocols sub-TLV (RBCHANNELS, sub-TLV type 16) carries zero or more byte-aligned bit vectors; each bit vector begins with a 7-bit BVL (byte count) and 9-bit BVO (offset) header followed by BVL bytes of channel protocol support bits. A one bit indicates support for the corresponding RBridge Channel protocol.
The Special VLANs and Flags sub-TLV (VLAN-FLAGS, MT-Port-Cap-TLV sub-TLV type 1) is an 8-byte structure encoding Port ID (2 bytes), Sender Nickname (2 bytes), Outer.VLAN (2 bytes with AF/AC/VM/BY flag bits), and Designated-VLAN (2 bytes with TR flag bit). It is carried in every TRILL IIH PDU.
The Trees sub-TLV (TREES, sub-TLV type 7) is 6 bytes encoding three unsigned 16-bit integers: Number of trees to compute, Maximum trees able to compute, and Number of trees to use, governing distribution tree computation per RFC 6325 Section 4.5.
The TRILL Neighbor TLV (type 145), used in broadcast IIH PDUs, encodes S/L/R flags and a SIZE field (5 bits, with 6-byte SNPA encoded as zero) followed by neighbor records each containing F/O flags, 2-byte MTU, and SIZE-byte SNPA. S=1 means smallest MAC is included; L=1 means largest MAC is included.
The TRILL Version sub-TLV (TRILL-VER, Router Capability/MT-Capability sub-TLV type 13) is 5 bytes: 1-byte Max-version and a 32-bit Capabilities and Header Flags Supported vector. Bits 14–31 indicate support for TRILL Header extended flags (RFC 7179); bits 0–13 are reserved for IS-wide optional capabilities.