3.23 Load Balancing with EIGRP

Different types of load-balancing available in EIGRP:

  • Equal Cost Path – Any routes with equal metrics are load-balanced. Thresholds are configured via the maximum-paths <#> command under the routing process, with 4 as the default and a maximum number of equal-cost paths of 32 in recent IOS releases (NX-OS supports 64 equal-cost paths).
  • Unequal Cost Path – Facilitated by the variance <#> command (configured under the routing process) adds a multiplier for feasible distance to make other feasible successors load-balanced successor routes despite unequal metrics. Default is 1 (meaning no variance).

There are two types of traffic sharing that can be configured to facilitate unequal cost load-balancing:

  • Balanced – (IOS default) Traffic is distributed proportionally along the paths based upon their metric. So if two unequal cost paths had a metric of 100000 and 200000, the ratio of packets would be 2:1, respectively.
  • min across-interfaces – This option operates similarly to equal cost path load-balancing, where traffic is only sent across the paths with the smallest metric. The difference is that any unequal cost paths of higher metrics are inserted into the routing table, thereby drastically improving convergence time.

Load-balancing performs different based upon the type of packet switching being performed by the router.

If a flow is process-switched, the load-balancing is performed on a per-packet basis.

If a flow is fast-switched, the load-balancing is performed on a per-destination basis.

If a flow is CEF-switched, the load-balancing is performed on a per-destination basis by default, but can be toggled to per-packet if necessary.

There is a CEF-related caveat… if two interfaces of different types (eg. Serial and Ethernet) are equal-cost paths, CEF will not load-balance across one of them because of the per-destination default configuration; the CEF load-balancing type must be manually changed to per-packet to enable equal-cost routing in this circumstance.