Sim 02: EIGRP Feasible Successor and Unequal-Cost Load Balancing¶
Blueprint 1.9.b, 1.9.c, 1.9.e, 1.9.f
| Difficulty | Time target | Devices | Faults |
|---|---|---|---|
| Hard | 25 minutes | 4 x IOSv | 3 |
Scenario¶
R1 reaches the application network 10.4.40.0/24 behind R4 over two paths: a fast path through R2 and a slower path through R3. The design uses classic-mode EIGRP AS 100 with interface delay values set deliberately so that the R3 path is a feasible successor, and variance 2 on R1 so that both paths carry traffic in proportion to their metrics.
This lab uses classic mode so that you can calculate the metrics by hand. The DUAL logic is identical in named mode; only the metric scale differs.
Download the lab
CML lab file · EVE-NG lab file
4 nodes. The lab boots already broken (the faults are in the start-up configs, so skip Break it). CML: Import a lab, then start it. EVE-NG: import the .unl from the lab list; if your image folder names differ, edit each node's image.
Topology¶
graph LR
R1["R1"] -- "Gi0/0 .1 10.1.2.0/30 .2 Gi0/0" --- R2["R2"]
R1 -- "Gi0/1 .1 10.1.3.0/30 .2 Gi0/0" --- R3["R3"]
R2 -- "Gi0/1 .1 10.2.4.0/30 .2 Gi0/0" --- R4["R4<br/>Lo40 10.4.40.1/24"]
R3 -- "Gi0/1 .1 10.3.4.0/30 .2 Gi0/1" --- R4
| Device | Interface | Address | Configured delay |
|---|---|---|---|
| R1 | Gi0/0 | 10.1.2.1/30 | delay 10 (100 microseconds) |
| R1 | Gi0/1 | 10.1.3.1/30 | delay 100 (1000 microseconds) |
| R2 | Gi0/0 / Gi0/1 | 10.1.2.2/30 / 10.2.4.1/30 | Gi0/1 delay 10 |
| R3 | Gi0/0 / Gi0/1 | 10.1.3.2/30 / 10.3.4.1/30 | Gi0/1 delay 15 |
| R4 | Gi0/0 / Gi0/1 | 10.2.4.2/30 / 10.3.4.2/30 | default |
| R4 | Lo40 | 10.4.40.1/24 | default loopback delay, 5000 microseconds |
Every router also has Loopback0 = 10.255.255.N/32.
Design metrics (classic mode, K1 = K3 = 1)¶
Classic metric = 256 x (10,000,000 / minimum bandwidth in kbps + total delay in tens of microseconds). Every path has a minimum bandwidth of 1,000,000 kbps (GigabitEthernet), which contributes 10. A router adds the delay of the interface on which it receives the route.
| Router and path | Total delay (tens of us) | Metric |
|---|---|---|
| R2 via R4 | 500 + 10 = 510 | 256 x 520 = 133120 |
| R3 via R4 | 500 + 15 = 515 | 256 x 525 = 134400 |
| R1 via R2 | 510 + 10 = 520 | 256 x 530 = 135680 (successor, FD) |
| R1 via R3 | 515 + 100 = 615 | 256 x 625 = 160000 |
Feasibility condition on R1: R3's reported distance 134400 is less than R1's feasible distance 135680, so the R3 path is a feasible successor. Variance: 160000 is less than 2 x 135680 = 271360, so with variance 2 both paths are installed.
Build it in CML¶
Four IOSv nodes, cabled as in the diagram. Paste the baseline and save it.
Baseline configuration¶
R1 baseline
hostname R1
interface Loopback0
ip address 10.255.255.1 255.255.255.255
interface GigabitEthernet0/0
ip address 10.1.2.1 255.255.255.252
delay 10
no shutdown
interface GigabitEthernet0/1
ip address 10.1.3.1 255.255.255.252
delay 100
no shutdown
!
router eigrp 100
eigrp router-id 10.255.255.1
network 10.0.0.0
variance 2
R2 baseline
R3 baseline
R4 baseline
hostname R4
interface Loopback0
ip address 10.255.255.4 255.255.255.255
interface Loopback40
ip address 10.4.40.1 255.255.255.0
interface GigabitEthernet0/0
ip address 10.2.4.2 255.255.255.252
no shutdown
interface GigabitEthernet0/1
ip address 10.3.4.2 255.255.255.252
no shutdown
!
router eigrp 100
eigrp router-id 10.255.255.4
network 10.0.0.0
Verify the baseline¶
R1# show ip eigrp topology 10.4.40.0/24 | include FD|Composite|via
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 135680
10.1.2.2 (GigabitEthernet0/0), from 10.1.2.2, Send flag is 0x0
Composite metric is (135680/133120), route is Internal
10.1.3.2 (GigabitEthernet0/1), from 10.1.3.2, Send flag is 0x0
Composite metric is (160000/134400), route is Internal
R1# show ip route 10.4.40.0
Routing entry for 10.4.40.0/24
Known via "eigrp 100", distance 90, metric 135680, type internal
...
Routing Descriptor Blocks:
* 10.1.2.2, from 10.1.2.2, ..., via GigabitEthernet0/0
Route metric is 135680, traffic share count is ...
10.1.3.2, from 10.1.3.2, ..., via GigabitEthernet0/1
Route metric is 160000, traffic share count is ...
Two descriptor blocks with different metrics prove unequal-cost load balancing. The traffic share counts are in inverse proportion to the metrics, so the R2 path gets the larger share.
Break it¶
Fault injection (for the lab partner or script only)
Trouble ticket¶
Ticket 1002: slow failover and no load sharing
"The application team says traffic to 10.4.40.0/24 is no longer shared across both WAN paths, and during this morning's maintenance on R2 the application was unreachable for several seconds. Before the last change, the backup path through R3 was used instantly and also carried part of the load."
Requirements: R1 must have both paths to 10.4.40.0/24 in its routing table with unequal traffic share. The path through R3 must be a feasible successor. Keep the documented delay values.
Restrictions: Do not change any interface bandwidth. Do not use offset lists or static routes.
Symptoms¶
show ip route 10.4.40.0on R1 shows only one path, via R2.show ip eigrp topology 10.4.40.0/24on R1 lists only the R2 path.- R3 has no EIGRP neighbors.
Root cause and fix¶
Root cause and fix: fault 1
K-value mismatch on R3. R3 was given metric weights 0 1 1 1 0 0, which turns on K2. EIGRP neighbors must have identical K values, so R3 loses both of its adjacencies and the R3 path disappears completely.
Diagnose:
R1# show logging | include DUAL
%DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.1.3.2 (GigabitEthernet0/1) is down: K-value mismatch
R3# show ip protocols | include K1|metric weight
EIGRP metric weight K1=1, K2=1, K3=1, K4=0, K5=0
R1# show ip protocols | include K1|metric weight
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
Fix:
no metric weights restores the defaults (K1 = K3 = 1, others 0). R3 forms adjacencies with R1 and R4 again.
Root cause and fix: fault 2
The delay on R3 Gi0/1 was raised from 15 to 25. R3's own metric to 10.4.40.0/24 becomes 256 x (10 + 525) = 136960. That is R3's reported distance to R1, and 136960 is not less than R1's feasible distance of 135680, so the R3 path fails the feasibility condition. A path that is not a feasible successor is never used for unequal-cost load balancing, whatever the variance, and it cannot take over without a DUAL query, which is why failover took seconds.
Diagnose. A plain show ip eigrp topology hides non-feasible paths, so use all-links or the specific prefix:
R1# show ip eigrp topology all-links | section 10.4.40.0
P 10.4.40.0/24, 1 successors, FD is 135680, serno 21
via 10.1.2.2 (135680/133120), GigabitEthernet0/0
via 10.1.3.2 (162560/136960), GigabitEthernet0/1
R3# show interfaces GigabitEthernet0/1 | include DLY
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 250 usec,
The reported distance via R3 (136960) is higher than the FD (135680). The interface shows 250 microseconds instead of the documented 150.
Fix:
The R3 path returns as (160000/134400) and now passes the feasibility condition.
Root cause and fix: fault 3
R1 is limited to one path. With faults 1 and 2 fixed, the topology table shows a feasible successor and variance 2 is still configured, but the routing table still has one entry. maximum-paths 1 caps the number of paths EIGRP may install, and that cap applies to unequal-cost paths too.
Diagnose:
R1# show ip protocols | include Maximum
Maximum path: 1
Maximum hopcount 100
Maximum metric variance 2
Fix:
The default for EIGRP is four paths.
Final verification¶
R1# show ip route 10.4.40.0 | include via|share
* 10.1.2.2, from 10.1.2.2, ..., via GigabitEthernet0/0
Route metric is 135680, traffic share count is ...
10.1.3.2, from 10.1.3.2, ..., via GigabitEthernet0/1
Route metric is 160000, traffic share count is ...
Test the failover: on R2, shutdown Gi0/1 while running ping 10.4.40.1 repeat 1000 from R1. With a feasible successor in place, at most one or two pings are lost. Remember to no shutdown afterwards.
Exam trap
Variance only applies to paths that already meet the feasibility condition (reported distance less than the feasible distance). A candidate that sees a path "within variance" but forgets to check the reported distance will pick the wrong answer. Check the second number in (metric/RD) against the FD first, then apply variance.
Exam trap
show ip eigrp topology shows successors and feasible successors only. To see every path a router has learned, including ones that fail the feasibility condition, use show ip eigrp topology all-links or name the prefix.
Unlock the full question banks and cram sheets
A free account opens every question bank, the timed practice exams, the printable cram sheets, all the simulations and the lab files. Without one you see a 5-question sample of each.
No card needed. Study tips by email are optional and off unless you tick the box. Your address is never sold or shared. Privacy policy · Terms
Signed in as . Your account
You're on the free account, so lessons after the first module, question banks, exams and cram sheets show a sample. See Track Pass and All-Access
Also from NetManager Systems: NetManager, network monitoring for multi-vendor networks. Try the NetManager, NetDiag, PCAP Analyzer and OpsDash demos: every new account gets a free 7-day read-only login to each.