EIGRP Configuration
EIGRP (Enhanced Interior Gateway Routing Protocol) is a Cisco
advanced distance-vector routing protocol that combines the fast convergence of
link-state protocols with the simplicity of distance-vector operation. Unlike
OSPF, which floods the entire topology to
all routers, EIGRP shares routing information only with directly connected
neighbors — reducing bandwidth and processing overhead while still converging
much faster than older protocols like
RIP. For an overview of EIGRP concepts see
EIGRP Overview.
EIGRP's key advantage is its DUAL (Diffusing Update Algorithm)
— a loop-free path selection algorithm that pre-calculates backup paths before
they are needed. When a primary path fails, EIGRP can switch to a pre-validated
backup path (feasible successor) in milliseconds — without
triggering a network-wide recalculation. Originally Cisco-proprietary, EIGRP
was opened as an informational RFC in 2013 (RFC 7868).
Before starting, complete
OSPF Single-Area Configuration and
Static Route Configuration to
understand routing fundamentals and Administrative Distance comparisons.
For a routing protocol comparison including BGP see
BGP Overview and
Administrative Distance.
1. EIGRP — Core Concepts
EIGRP vs OSPF — Key Differences
| Feature |
EIGRP |
OSPF |
| Type |
Advanced distance-vector (hybrid) |
Link-state |
| Algorithm |
DUAL (Diffusing Update Algorithm) |
Dijkstra SPF |
| Metric |
Composite: bandwidth + delay (+ load, reliability optionally) |
Cost (reference bandwidth / link bandwidth) |
| Administrative Distance |
Internal: 90 / External: 170 |
110 |
| Hello multicast |
224.0.0.10 |
224.0.0.5 / 224.0.0.6 |
| Hello / Hold timers (Ethernet) |
5 sec / 15 sec |
10 sec / 40 sec |
| Areas / Boundaries |
No areas — flat topology (single AS) |
Hierarchical areas — Area 0 backbone required |
| Partial updates |
Only sends updates when topology changes |
Full LSDB exchange on adjacency, then partial LSAs |
| Unequal-cost load balancing |
✅ Yes — via variance command |
❌ No — equal cost only (ECMP) |
EIGRP Terminology — The Three Tables
| Table |
Command |
Contains |
| Neighbor Table |
show ip eigrp neighbors |
All directly connected EIGRP routers that have formed adjacency. Populated by Hello packets. |
| Topology Table |
show ip eigrp topology |
All routes learned from all neighbors — including successors and feasible successors. The DUAL algorithm runs on this table. |
| Routing Table |
show ip route eigrp |
Only the best routes (successors) installed for forwarding. Marked D for EIGRP. |
EIGRP Metric — FD, AD, Successor, Feasible Successor
EIGRP uses two metric values per route, calculated from each neighbor's perspective:
| Term |
Abbreviation |
Definition |
| Feasible Distance |
FD |
The total metric cost from this router to the destination — the end-to-end cost including the link to the neighbor |
| Reported Distance |
RD (also called AD — Advertised Distance) |
The metric cost as reported by a neighbor — the cost from the neighbor to the destination (not including the link to reach the neighbor) |
| Successor |
S |
The neighbor providing the lowest FD path to a destination — installed in the routing table as the primary route |
| Feasible Successor |
FS |
A backup neighbor whose RD is less than the Successor's FD — the Feasibility Condition. Stored in topology table, instantly promoted if Successor fails |
The Feasibility Condition: A neighbor qualifies as a Feasible
Successor only if its Reported Distance (RD) is strictly less than
the current Successor's Feasible Distance (FD). This guarantees the backup path
is loop-free — if the backup path's reported cost is already lower than the
primary's total cost, the backup cannot loop back through this router.
EIGRP Metric Calculation
EIGRP's composite metric uses bandwidth and delay by default:
Metric = 256 × ( (10^7 / minimum-bandwidth-kbps) + (sum-of-delays / 10) )
| K Value |
Component |
Default |
Notes |
| K1 |
Bandwidth |
1 (enabled) |
Uses the minimum bandwidth along the entire path |
| K2 |
Load |
0 (disabled) |
Interface utilization — not used by default (unstable metric) |
| K3 |
Delay |
1 (enabled) |
Cumulative delay across all links in the path (in tens of microseconds) |
| K4 / K5 |
Reliability |
0 (disabled) |
Not used by default |
K values must match between neighbors. If R1 has K1=1, K3=1
and R2 has K1=1, K2=1, K3=1, they will not form an EIGRP adjacency.
K values are included in Hello packets and must be identical on both sides.
2. Lab Topology & IP Addressing
Three routers in a hub-and-spoke arrangement. R1 is the hub connected to both
R2 and R3. R2 and R3 also connect to each other — giving EIGRP multiple paths
to evaluate for successor and feasible successor selection.
192.168.10.0/24 192.168.30.0/24
(LAN — PC1) (LAN — PC3)
| |
Gi0/0 Gi0/0
┌─────────┐ 10.0.12.0/30 ┌─────────┐ 10.0.23.0/30 ┌─────────┐
│ R1 │──Gi0/1──────────│ R2 │──Gi0/1──────────│ R3 │
│ RID: │ │ RID: │ │ RID: │
│ 1.1.1.1 │──Gi0/2──────────│ 2.2.2.2 │ │ 3.3.3.3 │
└─────────┘ 10.0.13.0/30 └─────────┘ └─────────┘
Gi0/2 Gi0/1
(to R3 via 10.0.23.0/30)
EIGRP AS Number: 100
| Device |
Interface |
IP Address |
Connected To |
| NetsTuts_R1 |
Gi0/0 |
192.168.10.1 /24 |
LAN (PC1) |
| NetsTuts_R1 |
Gi0/1 |
10.0.12.1 /30 |
NetsTuts_R2 Gi0/0 |
| NetsTuts_R1 |
Gi0/2 |
10.0.13.1 /30 |
NetsTuts_R3 Gi0/0 |
| NetsTuts_R2 |
Gi0/0 |
10.0.12.2 /30 |
NetsTuts_R1 Gi0/1 |
| NetsTuts_R2 |
Gi0/1 |
192.168.20.1 /24 |
LAN (PC2) |
| NetsTuts_R2 |
Gi0/2 |
10.0.23.1 /30 |
NetsTuts_R3 Gi0/1 |
| NetsTuts_R3 |
Gi0/0 |
10.0.13.2 /30 |
NetsTuts_R1 Gi0/2 |
| NetsTuts_R3 |
Gi0/1 |
10.0.23.2 /30 |
NetsTuts_R2 Gi0/2 |
| NetsTuts_R3 |
Gi0/2 |
192.168.30.1 /24 |
LAN (PC3) |
3. Step 1 — Configure EIGRP on NetsTuts_R1
EIGRP is configured under a single process using an
Autonomous System (AS) number — all routers in the same EIGRP
domain must use the same AS number. Unlike OSPF's process ID, the EIGRP AS
number must match between neighbors for adjacency to form.
For basic interface configuration prerequisites see
Basic Interface Configuration.
After completing EIGRP configuration, save with
write memory.
NetsTuts_R1>en
NetsTuts_R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
! ── Start EIGRP AS 100 ────────────────────────────────────
NetsTuts_R1(config)#router eigrp 100
! ── Set Router ID manually ────────────────────────────────
NetsTuts_R1(config-router)#eigrp router-id 1.1.1.1
! ── Disable auto-summary (best practice) ─────────────────
NetsTuts_R1(config-router)#no auto-summary
! ── Advertise all networks ────────────────────────────────
NetsTuts_R1(config-router)#network 192.168.10.0 0.0.0.255
NetsTuts_R1(config-router)#network 10.0.12.0 0.0.0.3
NetsTuts_R1(config-router)#network 10.0.13.0 0.0.0.3
! ── Suppress Hellos on LAN interface ─────────────────────
NetsTuts_R1(config-router)#passive-interface GigabitEthernet0/0
NetsTuts_R1(config-router)#exit
NetsTuts_R1(config)#end
NetsTuts_R1#wr
Building configuration...
[OK]
NetsTuts_R1#
Key EIGRP Configuration Commands
| Command |
What It Does |
Notes |
router eigrp [AS] |
Starts the EIGRP process for the specified AS number |
AS number must match on all routers in the same EIGRP domain |
eigrp router-id [IP] |
Manually sets the EIGRP Router ID |
Best practice — prevents RID changes if interfaces go up/down. Same selection logic as OSPF (manual > loopback > physical) |
no auto-summary |
Disables automatic classful summarization |
Critical — auto-summary is enabled by default in older IOS and causes routing black holes in discontiguous networks. Always disable it. |
network [IP] [wildcard] |
Enables EIGRP on interfaces matching the network/wildcard and advertises the network |
Same wildcard mask logic as OSPF. No area number required. |
passive-interface [int] |
Suppresses Hello packets on the interface but still advertises the network |
Same behavior as OSPF passive-interface — use on all LAN-facing ports |
4. Step 2 — Configure EIGRP on NetsTuts_R2 and NetsTuts_R3
NetsTuts_R2
NetsTuts_R2>en
NetsTuts_R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
NetsTuts_R2(config)#router eigrp 100
NetsTuts_R2(config-router)#eigrp router-id 2.2.2.2
NetsTuts_R2(config-router)#no auto-summary
NetsTuts_R2(config-router)#network 10.0.12.0 0.0.0.3
NetsTuts_R2(config-router)#network 10.0.23.0 0.0.0.3
NetsTuts_R2(config-router)#network 192.168.20.0 0.0.0.255
NetsTuts_R2(config-router)#passive-interface GigabitEthernet0/1
NetsTuts_R2(config-router)#exit
NetsTuts_R2(config)#end
NetsTuts_R2#wr
Building configuration...
[OK]
NetsTuts_R2#
%DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.12.1 (GigabitEthernet0/0) is up: new adjacency
IOS displays the adjacency message when R2 forms a neighbor relationship with
R1 (10.0.12.1). DUAL-5-NBRCHANGE is the EIGRP equivalent of
OSPF's ADJCHG message — it confirms the new adjacency is operational.
NetsTuts_R3
NetsTuts_R3>en
NetsTuts_R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
NetsTuts_R3(config)#router eigrp 100
NetsTuts_R3(config-router)#eigrp router-id 3.3.3.3
NetsTuts_R3(config-router)#no auto-summary
NetsTuts_R3(config-router)#network 10.0.13.0 0.0.0.3
NetsTuts_R3(config-router)#network 10.0.23.0 0.0.0.3
NetsTuts_R3(config-router)#network 192.168.30.0 0.0.0.255
NetsTuts_R3(config-router)#passive-interface GigabitEthernet0/2
NetsTuts_R3(config-router)#exit
NetsTuts_R3(config)#end
NetsTuts_R3#wr
Building configuration...
[OK]
NetsTuts_R3#
%DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.13.1 (GigabitEthernet0/0) is up: new adjacency
%DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.23.1 (GigabitEthernet0/1) is up: new adjacency
R3 forms adjacency with both R1 (via Gi0/0) and R2 (via Gi0/1) simultaneously.
Two NBRCHANGE messages confirm both relationships are established.
All three routers now have full EIGRP adjacency.
5. DUAL Algorithm — Successor and Feasible Successor
With all three routers running EIGRP, consider how R1 selects its path to
192.168.30.0/24 (PC3's network on R3). R1 has two possible
paths: directly to R3 via Gi0/2, or via R2 through the 10.0.23.0/30 link.
DUAL evaluates both using FD and RD:
R1 calculating best path to 192.168.30.0/24:
Path 1: R1 ──Gi0/2──► R3 (direct)
R3's Reported Distance (RD) to 192.168.30.0/24 = 2816
R1's cost to reach R3 via Gi0/2 = 2816
R1's Feasible Distance (FD) = 5632 ← LOWER → SUCCESSOR
Path 2: R1 ──Gi0/1──► R2 ──► R3 (via R2)
R2's Reported Distance (RD) to 192.168.30.0/24 = 5632
R1's cost to reach R2 via Gi0/1 = 2816
R1's Feasible Distance (FD) = 8448
Feasibility Condition check for Path 2 as Feasible Successor:
R2's RD (5632) < Successor's FD (5632)? NO — 5632 is NOT less than 5632
→ Path 2 does NOT qualify as Feasible Successor
→ DUAL must run a full diffusing computation if Path 1 fails
Why the Feasibility Condition is strict (< not ≤):
If a neighbor's RD equals the Successor's FD, it is possible the neighbor
routes back through this router — creating a potential loop. Only an RD
strictly less than the current FD guarantees the backup path is
loop-free. This is the mathematical foundation of DUAL.
What Happens When the Successor Fails
| Scenario |
Feasible Successor Exists? |
EIGRP Response |
Convergence Time |
| Primary link (Successor) fails |
✅ Yes |
Feasible Successor is instantly promoted to Successor — no queries sent |
Milliseconds — no recalculation needed |
| Primary link fails, no FS |
❌ No |
Route enters Active state — DUAL sends Query packets to all neighbors asking for an alternative path |
Seconds — depends on network size and query scope |
| All paths fail |
❌ No paths |
Route is removed from topology and routing tables |
Route removed after Hold timer expires |
Active vs Passive Route States
| State |
Meaning |
Good? |
| Passive (P) |
Route is stable — Successor is known and installed in routing table |
✅ Normal operating state |
| Active (A) |
Route is undergoing DUAL recalculation — Queries have been sent to neighbors, awaiting Reply packets |
⚠️ Transitional — if stuck, indicates SIA (Stuck In Active) |
6. EIGRP Summarization and Variance
Manual Summarization
Unlike OSPF (which summarises at the ABR), EIGRP summarization is configured
directly on the outgoing interface using
ip summary-address eigrp [AS] [network] [mask]. EIGRP also
automatically installs a Null0 discard route for the summary to prevent loops.
For route summarisation techniques see
Route Summarisation &
Aggregation:
! ── On R1: Summarise LANs toward R2 and R3 ───────────────
NetsTuts_R1(config)#interface GigabitEthernet0/1
NetsTuts_R1(config-if)#ip summary-address eigrp 100 192.168.10.0 255.255.255.0
NetsTuts_R1(config-if)#exit
NetsTuts_R1(config)#interface GigabitEthernet0/2
NetsTuts_R1(config-if)#ip summary-address eigrp 100 192.168.10.0 255.255.255.0
NetsTuts_R1(config-if)#exit
Unequal-Cost Load Balancing (Variance)
EIGRP's most powerful feature — variance allows traffic to
be load-balanced across paths with different metrics, as long as
the alternative paths are Feasible Successors. No other common routing
protocol supports this natively:
NetsTuts_R1(config)#router eigrp 100
NetsTuts_R1(config-router)#variance 2
variance 2 means: include any Feasible Successor whose FD is
within 2× the Successor's FD in load balancing. If the Successor has FD 5632
and a Feasible Successor has FD 8000, it qualifies (8000 ≤ 5632×2=11264).
Traffic is distributed proportionally — lower FD links carry more traffic.
Default Route in EIGRP
! ── Method 1: Redistribute a static default route ────────
NetsTuts_R1(config)#ip route 0.0.0.0 0.0.0.0 203.0.113.1
NetsTuts_R1(config)#router eigrp 100
NetsTuts_R1(config-router)#redistribute static
! ── Method 2: Network statement for 0.0.0.0 ─────────────
NetsTuts_R1(config)#ip route 0.0.0.0 0.0.0.0 203.0.113.1
NetsTuts_R1(config-router)#network 0.0.0.0
Method 1 (redistribute static) injects the default route as an External EIGRP
route (AD 170, marked
D EX). Method 2 (network 0.0.0.0)
advertises it as an Internal EIGRP route (AD 90). In both cases, all EIGRP
neighbors automatically learn the default route. For default route concepts
see
Default Routes.
7. Verification
show ip eigrp neighbors
NetsTuts_R1#show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(100)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 10.0.13.2 Gi0/2 13 00:08:12 5 200 0 12
0 10.0.12.2 Gi0/1 14 00:08:45 4 200 0 15
Two neighbors confirmed — R2 (10.0.12.2) and R3 (10.0.13.2) — both on
GigabitEthernet interfaces. Hold timer counts down from 15 seconds (3×Hello)
and resets each time a Hello is received. Q Cnt = 0 means no packets are
queued for transmission — a healthy sign.
show ip eigrp neighbors — Field Reference
| Field |
Meaning |
Concern if... |
| H |
Handle — order in which neighbor was discovered |
— |
| Hold |
Remaining time before neighbor declared down (resets on each Hello) |
If frequently near 0 — Hello packets being delayed or dropped |
| SRTT |
Smooth Round-Trip Time in ms — used to calculate retransmission timeout |
High values (>5000ms) indicate a poor link |
| RTO |
Retransmission Timeout — how long EIGRP waits before retransmitting |
High values indicate link quality issues |
| Q Cnt |
Queue count — packets waiting to be sent to this neighbor |
Consistently non-zero indicates congestion or a stuck adjacency |
show ip eigrp topology
NetsTuts_R1#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 192.168.30.0/24, 1 successors, FD is 5632
via 10.0.13.2 (5632/2816), GigabitEthernet0/2
via 10.0.12.2 (8448/5632), GigabitEthernet0/1
P 192.168.20.0/24, 1 successors, FD is 5632
via 10.0.12.2 (5632/2816), GigabitEthernet0/1
via 10.0.13.2 (8448/5632), GigabitEthernet0/2
P 10.0.23.0/30, 1 successors, FD is 5632
via 10.0.12.2 (5632/2816), GigabitEthernet0/1
via 10.0.13.2 (5632/2816), GigabitEthernet0/2
Reading the topology table for 192.168.30.0/24:
P = Passive (stable). 1 successors.
FD is 5632 — the best total cost from R1.
First entry: via 10.0.13.2 with (FD=5632 / RD=2816)
— this is the Successor (lowest FD).
Second entry: via 10.0.12.2 with (FD=8448 / RD=5632) — the RD of
5632 is NOT less than the Successor's FD of 5632, so this does not
qualify as a Feasible Successor. Only the Successor is installed in
the routing table.
show ip route eigrp
NetsTuts_R1#show ip route eigrp
Codes: D - EIGRP, EX - EIGRP external
D 10.0.23.0/30 [90/5632] via 10.0.12.2, 00:08:45, GigabitEthernet0/1
[90/5632] via 10.0.13.2, 00:08:12, GigabitEthernet0/2
D 192.168.20.0/24 [90/5632] via 10.0.12.2, 00:08:45, GigabitEthernet0/1
D 192.168.30.0/24 [90/5632] via 10.0.13.2, 00:08:12, GigabitEthernet0/2
EIGRP routes are marked D with AD 90. The 10.0.23.0/30
link shows two equal-cost paths (ECMP load balancing — both have metric
5632). 192.168.20.0/24 and 192.168.30.0/24 each have one best path
(Successor) installed.
show ip eigrp topology all-links
NetsTuts_R1#show ip eigrp topology all-links
...
P 192.168.30.0/24, 1 successors, FD is 5632, serno 7
via 10.0.13.2 (5632/2816), GigabitEthernet0/2 <-- Successor
via 10.0.12.2 (8448/5632), GigabitEthernet0/1 <-- Not FS (RD not < FD)
show ip eigrp topology all-links shows all known paths —
including those that do not qualify as Feasible Successors.
The default show ip eigrp topology only shows Successors
and Feasible Successors. Use all-links when troubleshooting
why a backup path is not being used.
Verification Command Summary
| Command |
What It Shows |
Primary Use |
show ip eigrp neighbors |
All EIGRP neighbors — Hold timer, SRTT, Q count |
First check — confirm adjacency is established |
show ip eigrp topology |
Topology table — Successor, Feasible Successor, FD and RD per route |
Verify DUAL results and backup path availability |
show ip eigrp topology all-links |
All known paths including non-FS candidates — shows why a path is not a FS |
Troubleshoot missing Feasible Successor |
show ip route eigrp |
Only EIGRP-installed routes — D (internal) and D EX (external) |
Confirm routes are in the routing table |
show ip eigrp interfaces |
Interfaces participating in EIGRP — peer count, Hello interval |
Confirm correct interfaces are in EIGRP |
show ip route / show ip route eigrp |
Full routing table — EIGRP routes as D, EIGRP external as D EX |
Final end-to-end route check |
8. Troubleshooting EIGRP Issues
| Problem |
Symptom |
Cause |
Fix |
| No EIGRP neighbor forms |
show ip eigrp neighbors is empty |
AS number mismatch — one router uses AS 100, the other uses AS 200 |
Verify AS numbers match on both routers: show ip protocols — confirm "Routing for Networks" and AS number. See also Troubleshooting Layer 3 Routing |
| Neighbor forms then drops repeatedly |
NBRCHANGE messages cycling up/down |
Hello or Hold timer mismatch — or K value mismatch. Both prevent stable adjacency |
Check show ip eigrp interfaces detail — compare Hello/Hold timers on both sides. Verify K values match with show ip protocols. Check physical layer with show interfaces |
| Network not in routing table |
Neighbors are up but a specific network is missing from show ip route |
No network statement for that interface on the remote router — it is not being advertised |
Run show ip eigrp topology — if the network is absent, the advertising router is not including it. Check its network statements |
| Route Active — Stuck In Active (SIA) |
Route stays in Active (A) state in topology table for more than 3 minutes |
A neighbor sent a Query but never received a Reply — typically due to a failed link further in the network or an overloaded router |
Check connectivity to all routers in the path. Look for routers with high CPU. SIA causes the adjacency to be reset — check NBRCHANGE logs |
| auto-summary causing black holes |
Some subnets unreachable despite EIGRP routes present |
auto-summary is enabled — EIGRP is summarizing to classful boundaries, hiding specific subnets |
Add no auto-summary under router eigrp [AS] on all routers. Always disable this in modern networks. |
| No Feasible Successor available |
When primary link fails, convergence takes several seconds instead of instant |
The backup path's RD is not less than the Successor's FD — it failed the Feasibility Condition check |
View show ip eigrp topology all-links — compare RD of backup path vs FD of Successor. Adjust interface delay (ip delay) to influence metric and satisfy the Feasibility Condition |
Key Points & Exam Tips
- EIGRP's AS number must match between neighbors — unlike OSPF's process ID which is locally significant. Mismatched AS numbers prevent adjacency.
- Always configure
no auto-summary under EIGRP — the default in older IOS auto-summarises to classful boundaries, causing black holes in networks with discontiguous subnets.
- EIGRP's metric is a composite of bandwidth and delay by default (K1=1, K3=1). K values must match between neighbors or adjacency fails.
- Feasible Distance (FD) = total cost from this router to destination. Reported Distance (RD) = cost as reported by the neighbor (from the neighbor to the destination).
- A Successor is the neighbor with the lowest FD — installed in the routing table. A Feasible Successor is a backup neighbor whose RD is strictly less than the Successor's FD.
- When a Feasible Successor exists, EIGRP switches to it instantly (milliseconds) when the Successor fails — no queries, no recalculation. This is EIGRP's key convergence advantage.
- A route in Passive (P) state is stable. A route in Active (A) state is undergoing DUAL recalculation — a stuck Active route (SIA) indicates a serious network problem.
- EIGRP supports unequal-cost load balancing via the
variance command — no other common IGP does this. The variance multiplier defines how much worse than the best path an FS can be and still be included.
- EIGRP routes appear as D in the routing table (AD 90). External EIGRP routes (redistributed) appear as D EX (AD 170).
show ip eigrp topology shows only Successors and Feasible Successors. Use show ip eigrp topology all-links to see all paths including those that failed the Feasibility Condition.