ECMP
acronymEqual-Cost Multi-Path: when several routes tie on cost, traffic is hashed across all of them - free load sharing, per flow, not per packet.
Per-flow hashing keeps packets in order; elephant flows can still make one path unfairly heavy.
In OSPF, equal cost is a by-product of the shortest-path calculation. When a second path to a vertex ties with the one already found, RFC 2328 adds its next hops to the set instead of replacing them, and every destination beyond inherits both; the standard admits that, strictly, the result is then no longer a tree. When several equal-cost routes exist, traffic is distributed equally among them, and FRRouting prints the extra next hops as further via lines under the same prefix.
Ties are fragile. In a six-router example, raising one link's metric from 1 to 20 moved three destinations off one first hop and ended their split, and a link failure collapses the pairs to a single next hop. The opposite trap comes from OSPF's reference bandwidth: at 100 Mbit/s every link of 100 Mbit/s or faster costs 1, so paths tie on hop count rather than speed. RFC 2328 also lets an implementation keep only a fixed number of equal-cost routes.
Spreading traffic can hide failures. RFC 9764 notes that BFD packets may travel only along links that are up, so a session can stay Up while some component links drop traffic, and that no general-purpose BFD mechanism exercises every path of a multihop ECMP set; for a link aggregation group, RFC 7130 runs one micro-BFD session per member.
Sources
- RFC 2328, OSPF Version 2, April 1998: sections 1.1, 16.1 and 16.8, footnote 22 (read 2026-10-19)
- RFC 9764, Bidirectional Forwarding Detection (BFD) Encapsulated in Large Packets, April 2025: section 4.5 (read 2026-10-19)
- RFC 7130, Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces, February 2014: sections 1 and 2 (read 2026-10-19)