EIGRP Reference

eigrp routing networking

Enhanced Interior Gateway Routing Protocol — an advanced distance-vector (hybrid) IGP that uses the DUAL algorithm for loop-free, fast-converging routing. Originally Cisco-proprietary, now an open standard (RFC 7868).


Key Characteristics

PropertyValue
TypeAdvanced Distance-Vector (Hybrid) IGP
AlgorithmDUAL (Diffusing Update Algorithm)
Protocol NumberIP 88
Admin Distance (Internal)90
Admin Distance (External)170
Admin Distance (Summary)5
Multicast Address224.0.0.10
TransportRTP (Reliable Transport Protocol — EIGRP’s own, not the media RTP)
AuthenticationMD5, SHA-256 (named mode)
StandardsRFC 7868 (informational)
SupportsIPv4, IPv6 (via separate instances or address-family in named mode)

EIGRP vs OSPF Quick Comparison

PropertyEIGRPOSPF
TypeDistance-Vector (with link-state traits)Link-State
ConvergenceFast (feasible successor = instant failover)SPF recalculation required
CPU/MemoryLower (no full topology map)Higher (full LSDB per area)
ScalabilityGood with stub routingExcellent with areas
Multi-VendorLimited (historically Cisco-only)Universal
MetricComposite (bandwidth + delay by default)Cost (bandwidth-based)
Loop PreventionDUAL Feasibility ConditionSPF algorithm
Equal-Cost Load BalancingYesYes
Unequal-Cost Load BalancingYes (variance command)No

Packet Types

TypeNamePurposeReliable?
1HelloDiscover and maintain neighborsNo
2UpdateSend route information (full or partial)Yes (requires ACK)
3QueryAsk neighbors for a route when successor is lostYes (requires ACK)
4ReplyResponse to a Query with route info or unreachableYes (requires ACK)
5ACKAcknowledge receipt of a reliable packetN/A

Hello packets are always multicast (224.0.0.10) on broadcast/multipoint and unicast on point-to-point.

Update packets are sent as multicast when a new neighbor comes up (full update) and unicast for partial updates triggered by topology changes.


Default Timers

Interface TypeHello IntervalHold Time
Broadcast (Ethernet, etc.)5 seconds15 seconds (3x Hello)
Low-speed (T1 and below / multipoint)60 seconds180 seconds (3x Hello)
Point-to-Point (serial, tunnel)5 seconds15 seconds
Other TimerDefaultPurpose
Active Timer3 minutesMax time a route stays in Active state before Stuck-in-Active (SIA)
SIA Timer (Named Mode)90 secondsHalf the active timer — sends SIA-Query to check if neighbor is still working

Hold time does not have to match between neighbors (unlike OSPF). Each router independently declares how long the other should wait.


Metric Calculation

Classic Metric Formula

Metric = 256 * [(K1 * BW) + (K2 * BW)/(256 - Load) + (K3 * Delay)] * [K5/(K4 + Reliability)]

Default K-Values (Simplified)

With defaults (K1=1, K2=0, K3=1, K4=0, K5=0), the formula simplifies to:

Metric = 256 * (BW + Delay)

Where:
  BW    = 10^7 / minimum bandwidth (kbps) along the path
  Delay = sum of delays along the path (in tens of microseconds)
K-ValueComponentDefaultMeaning
K1Bandwidth1 (enabled)Minimum bandwidth along the path
K2Load0 (disabled)Interface load — disabled by default (unstable)
K3Delay1 (enabled)Cumulative delay along the path
K4Reliability0 (disabled)Link reliability — disabled by default (unstable)
K5Reliability0 (disabled)Additional reliability factor

K-values must match between neighbors or the adjacency will not form.

Wide Metrics (Named Mode)

Classic metrics max out at 4,294,967,295 (32-bit) — not granular enough for high-speed links (10G, 40G, 100G all calculate the same metric).

PropertyClassicWide (Named Mode)
Metric Width32-bit64-bit
Delay GranularityTens of microsecondsPicoseconds
Reference Bandwidth10^7 kbps10^7 * 65536
Differentiate 10G vs 40G?NoYes

DUAL Concepts

TermDefinition
Feasible Distance (FD)The best (lowest) metric to a destination from the local router’s perspective. This is the metric of the current best path.
Reported Distance (RD)The metric to a destination as reported by a neighbor (also called Advertised Distance). This is the neighbor’s own best metric to the destination.
SuccessorThe neighbor providing the best path (lowest FD) to a destination. This is the active next-hop.
Feasible Successor (FS)A backup neighbor whose Reported Distance is less than the current Feasible Distance. Pre-validated as loop-free — instant failover.
Feasibility ConditionRD of neighbor < FD of current successor. If this is true, the neighbor is a Feasible Successor.
Passive StateNormal operation — the route has a successor and is stable.
Active StateSuccessor lost, no feasible successor available — DUAL sends Queries to find a new path.

Why the Feasibility Condition Prevents Loops

If a neighbor’s distance to the destination (its RD) is less than your current best distance (your FD), then the neighbor cannot be routing through you — it already has a shorter path. This guarantees a loop-free alternate without needing a full topology recalculation.

DUAL Convergence Flow

Route goes down
     │
     ├─ Feasible Successor exists?
     │    ├─ YES → Instant failover (stays Passive)
     │    │         New Successor = former FS
     │    │         Sub-second convergence
     │    │
     │    └─ NO  → Go Active
     │              Send Query to all neighbors
     │              Wait for Reply from every neighbor
     │                   │
     │                   ├─ All Replies received
     │                   │    └─ New best path found → Install, go Passive
     │                   │
     │                   └─ Active Timer expires (3 min)
     │                        └─ Stuck-in-Active (SIA)
     │                             └─ Neighbor relationship reset

Named Mode vs Classic Mode

Named mode (introduced in IOS 15.0(1)M) consolidates all EIGRP configuration under a single hierarchical structure.

FeatureClassic ModeNamed Mode
Config LocationUnder router eigrp <ASN> + interface-levelUnder router eigrp <name> with sub-modes
IPv4 + IPv6Separate process for eachSingle process, address-family sub-mode
Wide MetricsNot supportedSupported (64-bit)
SHA-256 AuthNot supportedSupported
Per-Interface ConfigUnder the interfaceUnder af-interface within address-family

Classic Mode Example

router eigrp 100
 network 10.0.0.0 0.0.0.255
 no auto-summary

interface GigabitEthernet0/0
 ip hello-interval eigrp 100 5
 ip hold-time eigrp 100 15

Named Mode Example

router eigrp MYNET
 address-family ipv4 unicast autonomous-system 100
  network 10.0.0.0 0.0.0.255
  af-interface GigabitEthernet0/0
   hello-interval 5
   hold-time 15
  exit-af-interface
  topology base
  exit-af-topology
 exit-address-family

Stub Routing

Stub routing limits the Query scope — stub routers will not be sent Queries (they answer with an immediate Reply of “unreachable”). This dramatically improves convergence in hub-and-spoke designs.

Stub TypeWhat the Stub Advertises
connectedDirectly connected networks only
staticRedistributed static routes
summarySummary routes
receive-onlyNothing — only receives routes (most restrictive)
redistributedRedistributed routes from other protocols

Default: eigrp stub connected summary

Use case: Branch routers behind a single WAN link — they have no alternate paths, so Querying them is wasteful and slows convergence.


Unequal-Cost Load Balancing

EIGRP is unique in supporting load balancing across paths with different metrics using the variance command.

ConceptDescription
VarianceMultiplier applied to the FD. Any Feasible Successor with a metric ≤ FD * variance is eligible for traffic.
Traffic ShareTraffic is distributed inversely proportional to metric — better paths get more traffic.
RequirementThe alternate path must be a Feasible Successor (passes the Feasibility Condition). Variance alone is not enough.

Example: FD = 1000, Variance = 2. Any Feasible Successor with metric ≤ 2000 is used for load balancing.


Troubleshooting

SymptomLikely CauseWhat to Check
Neighbor not formingK-value mismatch, AS number mismatch, auth mismatchshow eigrp protocols — verify K-values and ASN match on both sides
Neighbor flappingUnstable link, Hello/Hold timer issues, CPU overloadInterface error counters, hold time vs actual delivery time
Stuck-in-Active (SIA)Neighbor not responding to Query within Active Timer (3 min)Query scope too broad (use stub routing), unidirectional link, CPU overload on queried router
Suboptimal pathFeasible Successor chosen over better path that fails FCCheck RD vs FD — the better path may not meet the Feasibility Condition
Routes not redistributedMissing redistribute command or route-map filteringshow route-map, show ip protocols — verify redistribution config
Metric mismatchK-value mismatch between neighborsshow eigrp protocols — if K-values differ, adjacency won’t form
High CPU from DUALExcessive Queries due to large topology changeSummarization, stub routing, and limiting redistribution reduce Query scope