IS-IS has a quiet advantage in AI fabrics: it was designed as a link-state protocol that carries arbitrary metadata in Type-Length-Value (TLV) extensions, and the standards body has systematically added AI fabric capabilities to those TLVs over the past three years.
The key addition is Flexible Algorithm (Flex Algo), standardised in RFC 9350 and RFC 9502. Where standard IS-IS computes a single shortest-path tree using a single metric (link bandwidth by default), Flex Algo allows up to 128 simultaneous routing computations, each using a different combination of metric type and constraints. The result is multiple independent routing topologies -- multiple logical fabrics -- all derived from the same IS-IS adjacency database, without requiring any overlay encapsulation.
The Flexible Algorithm Definition (FAD) specifies three things: the calculation type (currently always modified Dijkstra), the metric type (IGP metric, minimum unidirectional delay, or TE metric), and a set of constraints (include-any, exclude-all, include-all on administrative groups, plus optional bandwidth and delay thresholds). Every node participating in a given Flex Algo must advertise the same FAD -- if any node disagrees on the definition, it is excluded from that algorithm's topology and traffic is not routed through it.
A practical deployment divides traffic into three planes:
Flex Algo 0 (default): Standard IS-IS metric. All nodes participate. This is the fallback -- all traffic can use it, and management/control-plane traffic always uses this plane.
Flex Algo 128: Low-latency constraint. Metric type = minimum unidirectional delay. Spines that advertise delay measurements below a threshold are included; those above are excluded. Critical LLM training traffic is mapped to Algo 128 via a routing policy that matches the RoCEv2 DSCP value. The SPF computation for Algo 128 produces a topology that only includes low-latency links, and all paths through Algo 128 are guaranteed to meet the delay SLA.
Flex Algo 129: High-bandwidth constraint. Metric type = TE metric weighted by available bandwidth. A spine with one failed downlink advertises reduced TE metric; Algo 129's SPF routes around it. Storage-fabric traffic from the dual-port ConnectX-7 storage cards (Slot1/Slot2) is mapped here -- storage traffic is bandwidth-sensitive but not as latency-critical as GPU AllReduce.
Each server prefix is advertised with an Algorithm field in the IS-IS IPv4 Algorithm Prefix Reachability TLV (RFC 9502). This TLV includes the MTID (multi-topology identifier) and the algorithm number alongside the standard prefix information. A leaf switch receiving this TLV installs the prefix in its Algo 128 RIB separately from its Algo 0 RIB. When a flow arrives from a GPU and is classified to Algo 128, the forwarding lookup uses the Algo 128 FIB entry, not the default.
IS-IS Optimal Distributed Flooding (IETF draft draft-ietf-lsr-distoptflood) complements Flex Algo by reducing LSP flooding overhead in dense fabrics. Standard IS-IS floods an LSP to all neighbours simultaneously. In a 64-spine fabric where every leaf connects to every spine, this means each leaf LSP update is sent 64 times from the originating leaf. The distributed flooding optimisation elects one neighbour per link-state PDU to receive the initial flood, reducing copies from N to 1 in the typical case. At 64 spines, this is a 64x reduction in LSP traffic -- significant during network convergence events when many links change state simultaneously.
IS-IS scales to approximately 2,500 switch nodes in tested deployments, compared to RIFT's 1,000+ and BGP's effectively unlimited scale. For most AI fabrics (which top out at a few hundred switches), all three protocols are within range; the choice is driven by operational familiarity and feature requirements.