EIGRP provides a mechanism to load balance over unequal cost paths throungh Variance Command. Variance is a number (1 to 128), multiplied by the local best metric then includes the routes with the lesser or equal metric. The default Variance value is 1, which means equal-cost load balancing.
A condition, Feasibility Condition, must be met for all routes to be installed in routing table via Variance Command.
What is Feasibility Condition?
If, for a destination, a neighbour router advertises a distance that is stricktly lower than our feasible distance, then this neighbour lies on a loop free route to this destination.
Understanding of EIGRP routing protocol
In this document we are trying to understand the feasibility condition and the working of variance command. All routers depcited in the topology diagram are configured with EIGRP routing protocol. The Lo3 address (220.127.116.11/32) is redistributed in EIGRP via redistribute connected command under the EIGRP process.
Router R1 has three paths to the route 18.104.22.168/32
- Path R1-R2-R3
- Path R1-R4-R3
- Path R1-R5-R3
Specifically, we have used different interface selection to provide unequal cost.
With default configuration, the route R1-R2-R3 is chosen over the others as the overall metric of this path is less as compared to that of the paths. Please see the output of the command "show ip route eigrp".
So far so good. Everything is working as expected.
As we desire, EIGRP with load balancing functionality, the route 22.214.171.124/32 should be available with R1 via R4 and R5. We verify the minimum and the maximum cost to reach 126.96.36.199 network from R1 via command "show ip eigrp topology all-links". R1 from its EIGRP topology table is learning the route 188.8.131.52/32 from all the sources but installed the route learned via neighbour R2 in its routing table.
The lowest metric is 435200 (that of path R1-R2-R3) and the maximum 2809856 (that of path R1-R5-R3).
Doing a small calculation to find the variance number, 2809856/435200 = 6.4567. I wil use a variance value of 7. Now 7*435200 = 3046400, routes with metric less than this value should be included.
On configuring command "variance 7" under EIGRP process, the route 184.108.40.206/32 now has two sources, R2 and R4. This can be verified by command "show ip route eigrp" on R1.
The output is not what we desired, the expected result was route 220.127.116.11 to be available from all the three neighbours i.e. R2, R4 and R5. Why the route from R4 was included and the route R5 discarded?
For R1 and R4
- If, for a destination (18.104.22.168), a neighbour router (R4) advertises a distance (409600) that is stricktly lower than our feasible distance (435200), then this neighbour lies on a loop free route to this destination.
- Metric learned from R4 (2323456) < Metric Calculated via Variance Multiplier (3046400)
For R1 and R5, this condition is not met as R5 advertises a distance 2297856 which is much higher that the feasible distance (435200) on R1.
Note: Even though the overall metric from R5 (2323456) is less than the Metric Calculated via Variance Multiplier (3046400), the route 22.214.171.124 is discarded as it does not meet the Feasibility Condition.
Please see attached files.