Routing · 4 min read

EIGRP unequal cost load balancing and feasible successor trap

EIGRP's unequal cost load balancing is one of its most powerful features, yet it remains a common source of confusion and misconfigurations. Unlike OSPF, which load-balances only across equal-cost paths, EIGRP can distribute traffic across routes with different metrics. However, this capability comes with strict rules: violate them, and your traffic takes unexpected paths or fails to load-balance at all. Understanding the feasible successor concept is essential to getting this right.

Successor, feasible successor, and the metric hierarchy

In EIGRP, every destination has a successor: the neighbor advertising the lowest feasible distance (FD) to that destination. Traffic for the destination uses the successor by default. A feasible successor is a backup route that meets one critical condition: its advertised distance (AD) must be less than or equal to the current successor's feasible distance.

This constraint prevents routing loops. If a neighbor's AD exceeds your current FD, accepting that route could create a loop because the neighbor may be routing traffic back through you. EIGRP will reject such a route as a feasible successor, no matter how attractive its metric appears.

Successor: Router A -> Destination X
  Advertised Distance (AD) from neighbor: 100
  Your Feasible Distance (FD): 200

Feasible Successor candidate: Router B -> Destination X
  Advertised Distance (AD) from neighbor: 150
  Your current FD: 200
  Result: VALID feasible successor (AD 150 < FD 200)

Invalid candidate: Router C -> Destination X
  Advertised Distance (AD) from neighbor: 250
  Your current FD: 200
  Result: REJECTED (AD 250 > FD 200) - loop risk

The variance command and unequal cost load balancing

The variance command allows EIGRP to load-balance across routes with different metrics. Variance is a multiplier: if you set variance 2, any feasible successor with a metric less than or equal to 2 times the successor's metric becomes eligible for load balancing.

Router(config-router)# variance 2

Example:
  Successor metric: 1000
  Variance threshold: 1000 x 2 = 2000
  Feasible successor metric: 1500
  Result: Load-balance enabled (1500 < 2000)

The critical point: variance does NOT remove the feasible successor requirement. A route must still satisfy the AD less than or equal to FD rule. Variance only expands which feasible successors participate in load balancing; it cannot resurrect routes that failed the feasibility condition.

The feasible successor trap

The most common misconfiguration occurs when an engineer sets variance hoping to load-balance across a specific alternate path, only to find that path is not used. The reason: that path is not a feasible successor.

Router# show ip eigrp topology 10.0.0.0/24
EIGRP topology entry for 10.0.0.0/24
  State is Passive
  Successor(s) (via 192.168.1.1)
    FD is 2000, serno 42
  Feasible successor(s)
    via 192.168.2.1 (FD is 2500, serno 41)
  Rx peers: 2

Practical configuration example

router eigrp 100
  network 10.0.0.0 0.0.0.255
  network 192.168.1.0 0.0.0.255
  network 192.168.2.0 0.0.0.255
  variance 2
  maximum-paths 4
!

This configuration allows up to 4 equal or unequal cost paths to the same destination. Without feasible successors, only the successor is used. With feasible successors that meet the variance threshold, traffic is distributed. The maximum-paths command limits how many routes are installed in the routing table; the default is 4 on most platforms.

Administrative Distance
Reference tool for EIGRP, OSPF, static, and BGP AD values
Open →
Practise this on today’s Daily Ops Drill — a free network task every day.
Open the app →
Free tools for this
More from the blog
FortiGate NSE4 Lab: Implicit Deny and Why Your Permit Rule Isn't WorkingRead →Voice VLAN Bandwidth Sizing: Codec, Frame Size, and Overhead CalculationRead →