How does EIGRP do unequal cost load balancing with variance? Give me a worked example.
Show the answer
Say this first
variance N lets EIGRP install extra paths whose metric is within N times the best metric, but
only paths through feasible successors. Example: the best path is 3328 via R2. R3's path is 26368
with RD 3072, so it is a feasible successor; 26368 / 3328 is about 7.9, so variance 8 installs it.
R4's path also costs 26368 but fails the feasibility condition, so no variance value ever uses it.
Traffic is shared in inverse proportion to the metric.
Go deeper
The checks for each extra path
- Is the neighbor a feasible successor (RD less than FD)? If not, stop.
- Is its metric within variance x FD?
- Is there room under
maximum-paths(default 4)?
Worked numbers
| Via | Metric | RD | Feasible successor | Variance 7 (limit 23296) | Variance 8 (limit 26624) |
|---|---|---|---|---|---|
| R2 | 3328 | 3072 | Successor | Installed | Installed |
| R3 | 26368 | 3072 | Yes | No | Installed |
| R4 | 26368 | 26112 | No | No | No |
router eigrp 100
variance 8R1# show ip route eigrp | section 10.50.0.0
D 10.50.0.0/24 [90/3328] via 10.0.12.2, 00:02:10, GigabitEthernet0/0/0
[90/26368] via 10.0.13.3, 00:02:10, GigabitEthernet0/0/1Each next hop keeps its own metric in the brackets. R2 gets roughly eight times as much traffic as R3.
How traffic is really split
CEF shares load per flow by default, hashing source and destination addresses. The ratio is applied to hash buckets, so with a few big flows the real split can be far from the intended one.
Keeping backups in the RIB only
traffic-share min across-interfaces installs the variance paths but sends traffic only on the best
one. The others are already in the routing table if the best fails.
They will ask next
Why is variance rare in real networks?
The slower path usually has more latency, so flows on it behave differently, and per-flow hashing rarely gives the ratio you planned. Most designs use equal-cost paths or accept a primary and a backup.
What is the named mode equivalent?
variance 8undertopology baseinside the address family.
Traps
- Saying variance can use any path within the multiple. It only uses feasible successors.