Transparent Interconnection of Lots of Links (TRILL): End Station Address Distribution Information (ESADI) Protocol
updates
- rfc-6325 — Routing Bridges (RBridges): Base Protocol Specification
Extracted elements (31)
ESADI does no routing calculations, so no pseudonodes are created. ESADI-LSP, ESADI-CSNP, and ESADI-PSNP payloads are formatted as Extended Level 1 Circuit Scope (E-L1CS) PDUs [RFC7356], allowing up to 2^16 fragments while skipping pseudonode support.
ESADI operates as a Data Label scoped virtual link overlay rather than as part of TRILL IS-IS so that end station attachment information is flooded only to TRILL switches participating in ESADI for the relevant Data Label, not to all switches in the campus.
ESADI PDUs MAY be TRILL unicast (rather than multicast) when there is only one recipient of interest, because multicasting over multi-hop distribution trees imposes substantially greater load than a unicast frame. Unicast is only used when the recipient has signaled support via the UN flag.
There are no Hello PDUs in ESADI because adjacency is determined entirely by examining the TRILL IS-IS link state database for RBridges announcing ESADI participation for the relevant Data Label; no adjacency information is carried in ESADI-LSPs.
The ESADI PDU format changed from IS-IS Level 1 (PDU numbers 18/24/26) to E-L1CS (PDU numbers 10/11/12), which is not backwards compatible with RFC 6325. Implementations of each type will discard the other's PDUs; enabling data plane address learning during migration fills the resulting gap, albeit without ESADI's speed or security advantages.
Unicast ESADI PDU support is backwards compatible because unicasting is only employed when the recipient RBridge explicitly advertises support via the UN flag in its ESADI Parameter APPsub-TLV. RBridges not advertising unicast support continue to receive multicast ESADI PDUs.
For LSP synchronization robustness, a non-DRB ESADI RBridge SHOULD also transmit an ESADI-CSNP for an instance if it has ESADI neighbors, does not believe it is the DRB, and has not received or sent a CSNP for longer than the average of the DRB's CSNP Time and its own CSNP Time.
If TRILL IS-IS authentication is in effect for LSP PDUs at a TRILL switch, ESADI PDUs from that switch MUST use the same algorithm in their Authentication TLVs, with keying material derived as HMAC-SHA256('TRILL ESADI', IS-IS-LSP-shared-key), unless explicitly configured otherwise.
The ESADI Parameter APPsub-TLV MUST be included in a TRILL GENINFO TLV in ESADI-LSP number zero. If missing or if LSP number zero is unknown, priority defaults to 0x40 and CSNP Time defaults to 30 seconds.
The high-priority bit SHOULD be set on ESADI-LSP fragment zero to ensure the ESADI Parameter APPsub-TLV gets through promptly, but SHOULD NOT be set on other fragments to avoid giving undue priority to less urgent PDUs.
The inner ESADI payload MUST NOT exceed Sz minus 24 bytes for a VLAN ESADI instance or Sz minus 28 bytes for an FGL ESADI instance; however, if a larger payload is received it is still processed normally.
The Inner.MacSA (Origin RBridge MAC Address) MUST be a campus-unique MAC address owned by the originating RBridge, and each ESADI RBridge MUST use the same Inner.MacSA for all ESADI packets it originates.
The MAC-Reachability TLVs in TRILL ESADI PDUs MUST NOT contain the Data Label ID; only the Inner.VLAN or Inner.FGL tag indicates the applicable Data Label. A received Confidence of 255 MUST be treated as 254 to preserve override by statically configured local information with Confidence 255.
TRILL APPsub-TLVs MUST NOT alter basic IS-IS protocol operation including adjacency establishment, the update process, and the decision process. The TRILL Generic Information TLV MUST NOT be used in an IS-IS instance zero LSP.
TRILL ESADI-LSPs MUST NOT contain a Data Label ID in their payload; the applicable Data Label is taken from the enclosing TRILL Data packet. If a VLAN or FGL ID field within an ESADI-LSP PDU includes a value, that field's contents MUST be ignored.
When MAC address confidences are tied between duplicates from multiple RBridges, the ingress RBridge MUST adopt one of two strategies: (1) pseudorandomly select one egress for all traffic to that MAC/label, or (2) use ECMP at the flow level if it can tolerate the resulting address flip-flopping.
MAC addresses distributed by ESADI may uniquely identify individual end station users and constitute sensitive reachability information in campus networks. Network operators should minimize retention of MAC reachability logs to only what is clearly required, balancing privacy against network management and legal obligations. In IXP deployments, the addresses are typically ISP router ports with fewer privacy concerns.
An RBridge withdrawing from ESADI for Data Label X must: (1) clear the ESADI Participation bit in the appropriate Interested VLANs or Interested Labels sub-TLV, and (2) send a final ESADI-LSP nulling out its ESADI information. If the RBridge becomes unreachable, ESADI protocol timeouts handle cleanup.
ESADI-LSP contents consist of zero or more MAC-Reachability TLVs [RFC6165], an optional Authentication TLV, and exactly one ESADI Parameter APPsub-TLV. Because PDUs use E-L1CS format, Type and Length fields in TLVs are 16-bit. Unknown TLVs and sub-TLVs are ignored.
ESADI-LSP fragment zero and any CSNP or PSNP covering fragment zero MUST NOT exceed 1446 bytes (VLAN) or 1442 bytes (FGL) for robustness, based on the 1470-byte inter-RBridge link MTU baseline minus TRILL overhead. Received overlong PDUs are still processed normally.
ESADI participation for a VLAN-scoped instance is announced by setting bit 3 (ESADI Participation / ES bit) in the Interested VLANs sub-TLV; for an FGL-scoped instance, bit 3 is set in the Interested Labels sub-TLV [RFC7176]. No Hellos are sent; adjacencies are derived solely from the TRILL IS-IS link state database.
ESADI uses a virtual multi-access link abstraction where all ESADI RBridges for a Data Label appear directly connected. TRILL forwards ESADI packets as ordinary TRILL Data packets; RBridges not implementing or not participating in ESADI for that Data Label transparently tunnel such packets without decapsulating them.
The Confidence field (0-254) in MAC-Reachability TLVs allows address learning sources to be prioritized: addresses learned via authenticated registration (e.g., 802.1X/EAP) can be advertised with high Confidence so they prevail over data plane observation. ESADI authentication in transit makes tampering very difficult.
The ESADI DRB is elected among all ESADI instances for a Data Label by choosing the instance with the highest 7-bit priority (from the ESADI Parameter APPsub-TLV), with ties broken by System ID. The DRB issues ESADI-CSNP PDUs and responds to ESADI-PSNP PDUs but never creates a pseudonode.
IANA allocated IS-IS Application Identifier 1 under Generic Information TLV (#251) for TRILL and created the 'TRILL APPsub-TLV Types under IS-IS TLV 251 Application Identifier 1' sub-registry (IETF Review). Type 0 and 65535 are Reserved, type 1 is ESADI-PARAM, types 2-254 and 256-65534 are available by IETF Review.
IANA created the 'Interested Labels Flag Bits' sub-registry in the TRILL Parameters registry (IETF Review). Bit 3 is assigned as the ESADI Participation (ES) bit in the INT-LABEL sub-TLV; bits 0-2 are M4, M6, and BM; bits 4-7 are unassigned.
IANA created the 'Interested VLANs Flag Bits' sub-registry in the TRILL Parameters registry (IETF Review). Bit 3 is assigned as the ESADI Participation (ES) bit in the INT-VLAN sub-TLV; bits 0-1 are M4/M6 multicast router attachment; bits 2, 16-19 are unassigned; bits 4-15 and 20-31 are used for VLAN IDs.
ESADI makes persistent duplicate MAC address attachment within a Data Label explicitly and persistently visible to all participating RBridges, unlike data plane learning. This aids detection of misconfiguration or spoofing but may also reflect legitimate multi-homing.
ESADI PDUs can be authenticated via the Authentication TLV [RFC5310] using keying material derived as HMAC-SHA256('TRILL ESADI', IS-IS-LSP-shared-key). Combined with 802.1X/EAP end station registration, ESADI MAC reachability information can be made substantially more trustworthy than data plane learning, though it still requires trusting all RBridges holding valid keying material.
The ESADI Parameter APPsub-TLV (Figure 4) contains: 2-byte Type (0x0001), 2-byte Length (minimum 3), 1 reserved bit + 7-bit Priority, 1-byte CSNP Time, 1-byte Flags byte where bit 0 (UN) indicates unicast ESADI acceptance, and variable reserved expansion bytes.
TRILL ESADI packets on Ethernet carry: outer Ethernet header, TRILL header (V=0, R=0, M=1 for multicast), inner Ethernet header (Inner.MacDA = All-Egress-RBridges, Inner.MacSA = origin RBridge MAC), 4- or 8-byte VLAN or FGL Data Label, L2-IS-IS Ethertype (0x22F4), and ESADI payload formatted as IS-IS E-L1CS PDU.