1.9.e and 1.9.f EIGRP Metrics and Load Balancing¶
Blueprint 1.9.e and 1.9.f: Troubleshoot EIGRP (classic and named mode)
- 1.9.e Load balancing: equal cost and unequal cost (
variance,maximum-paths,traffic-share) - 1.9.f Metrics: classic 32-bit metric, wide 64-bit metric, K values,
metric rib-scale - Which interface's bandwidth and delay count, and how
bandwidthanddelaychange paths
EIGRP metric questions on the exam come in two forms: a calculation (given interfaces or a vector metric, what is the metric, or what variance is needed) and a troubleshooting story (someone changed bandwidth, delay or metric weights, and traffic moved or an adjacency died). This page works every number from the module baseline so you can check them on your own lab routers.
The classic metric¶
The full classic formula uses five K values:
metric = 256 x [ K1 x BW + (K2 x BW) / (256 - load) + K3 x delay ] x [ K5 / (reliability + K4) ]
The last bracket is applied only when K5 is not 0. With the defaults K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0, it reduces to:
metric = 256 x ( 10,000,000 / minimum bandwidth in kbps + total delay in tens of microseconds )
- Bandwidth is the lowest bandwidth on the path, in kbit/s. The division is an integer division, so fractions are dropped.
- Delay is the sum of the delays of every interface along the path, converted from microseconds to tens of microseconds.
- Each router adds the bandwidth and delay of the interface on which it received the update, that is, its outgoing interface toward the destination. The far router's interface delay on the same link is not counted.
- Load and reliability are carried in updates but ignored by default. Do not enable K2, K4 or K5 in production: a metric that changes with load causes route flapping.
Interface defaults on IOS and IOS XE¶
| Interface | Bandwidth (kbps) | Delay (usec) | delay value (tens of usec) |
|---|---|---|---|
| GigabitEthernet | 1,000,000 | 10 | 1 |
| FastEthernet | 100,000 | 100 | 10 |
| Ethernet | 10,000 | 1,000 | 100 |
| Serial (T1 default) | 1,544 | 20,000 | 2,000 |
| Loopback | 8,000,000 | 5,000 | 500 |
show interfaces shows them as BW 1000000 Kbit/sec, DLY 10 usec. The bandwidth command takes kbps, and the delay command takes tens of microseconds. delay 100 therefore means 1000 usec, and show interfaces will show DLY 1000 usec.
Exam trap
The delay interface command is in tens of microseconds but show interfaces displays microseconds. A question that says "the engineer set delay 100" means 1000 usec, which adds 100 to the classic delay term, not 1000. The bandwidth command also changes nothing about the real link speed. It only changes routing metrics and QoS percentages.
Worked example 1: the baseline in classic terms¶
The baseline runs named mode, but the classic numbers are simpler, so start there. R1 learns 10.4.40.0/24 (R4 Loopback40) two ways. Every link is GigabitEthernet. R1 Gi0/2 has delay 100.
| Router and path | Minimum BW term (Gig: 10,000,000 / 1,000,000) | Delays added (tens of usec) | Classic metric |
|---|---|---|---|
| R4 itself (connected Lo40, 8,000,000 kbps) | Not yet relevant: the Gig links further on set the minimum | 500 (loopback) | |
| R2, via R4 (RD) | 10 | 500 + 1 (R2 Gi0/2) = 501 | 256 x 511 = 130,816 |
| R3, via R4 (RD) | 10 | 500 + 1 (R3 Gi0/2) = 501 | 256 x 511 = 130,816 |
| R1, via R2 | 10 | 501 + 1 (R1 Gi0/1) = 502 | 256 x 512 = 131,072 (FD) |
| R1, via R3 | 10 | 501 + 100 (R1 Gi0/2) = 601 | 256 x 611 = 156,416 |
R3 is a feasible successor (130,816 is less than 131,072). For unequal-cost load balancing, the path through R3 needs a variance that makes 156,416 smaller than variance x 131,072. The ratio is 1.19, so variance 2 (limit 262,144) is enough.
Worked example 2: a slow serial link¶
A branch LAN 172.20.1.0/24 sits on GigabitEthernet at router B. B connects over a T1 serial link to router A, and A connects over GigabitEthernet to R1.
graph LR
R1["R1"] -- "Gi 1 Gbps, 10 us" --- A["A"]
A -- "Serial T1 1544 kbps, 20000 us" --- B["B"]
B -- "Gi LAN 10 us" --- LAN["172.20.1.0/24"]
- Minimum bandwidth: 1544 kbps. 10,000,000 / 1544 = 6476.68, truncated to 6476.
- Delays: B's LAN interface 10 usec, A's serial interface 20,000 usec, R1's Gi interface 10 usec. Total 20,020 usec = 2002 tens of usec.
- Metric at R1: 256 x (6476 + 2002) = 256 x 8478 = 2,170,368.
- A's RD: 256 x (6476 + 1 + 2000) = 256 x 8477 = 2,170,112.
The slow link dominates both terms. That is the normal pattern: bandwidth is set by the single worst link, and delay accumulates over every hop.
Wide metrics (named mode)¶
The classic metric runs out of resolution on fast links. 10,000,000 divided by 10 Gbps (10,000,000 kbps) is 1, and anything faster rounds down to 0, so classic EIGRP cannot tell 10G, 40G and 100G apart. Named mode uses a 64-bit wide metric with delay measured in picoseconds and a scaling factor of 65,536:
wide metric = 65,536 x ( 10,000,000 / minimum bandwidth in kbps + total delay in microseconds ), with default K values
Two differences from the classic formula: the multiplier is 65,536 instead of 256, and delay is in microseconds, not tens of microseconds. The routing table only holds 32-bit metrics, so the wide value is divided by metric rib-scale (default 128) before it is installed. With the defaults, the number in show ip route is therefore 512 x (BW term + delay in usec).
| Classic | Wide (named mode) | |
|---|---|---|
| Size | 32-bit | 64-bit |
| Delay unit in formula | Tens of microseconds | Microseconds (picoseconds internally) |
| Scaling | 256 | 65,536, then divided by rib-scale 128 for the RIB |
| K values | K1 to K5 | K1 to K6 (K6 for extended attributes such as jitter and energy) |
metric weights syntax |
metric weights 0 1 0 1 0 0 |
metric weights 0 1 0 1 0 0 0 |
| One-hop GigabitEthernet route | 256 x (10 + 2) = 3,072 | 65,536 x (10 + 20) = 1,966,080, RIB 15,360 |
Worked example 3: the baseline in wide metrics¶
| Router and path | BW term | Total delay (usec) | Wide metric | RIB value (/128) |
|---|---|---|---|---|
| R2 via R4 (RD) | 10 | 5000 + 10 = 5010 | 65,536 x 5020 = 328,990,720 | |
| R3 via R4 (RD) | 10 | 5010 | 328,990,720 | |
| R1 via R2 | 10 | 5010 + 10 = 5020 | 65,536 x 5030 = 329,646,080 (FD) | 2,575,360 |
| R1 via R3 | 10 | 5010 + 1000 = 6010 | 65,536 x 6020 = 394,526,720 | 3,082,240 |
Those are exactly the numbers in the baseline topology table and routing table:
R1# show ip eigrp topology 10.4.40.0/24 | include FD|Composite
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 329646080, RIB is 2575360
Composite metric is (329646080/328990720), route is Internal
Composite metric is (394526720/328990720), route is Internal
R1# show ip route eigrp | include 10.4.40.0|3082240
D 10.4.40.0/24 [90/2575360] via 10.1.2.2, 00:21:05, GigabitEthernet0/1
[90/3082240] via 10.1.3.3, 00:21:05, GigabitEthernet0/2
Exam trap
In named mode the topology table shows the 64-bit composite metric (and RIB is ...), while show ip route shows the value divided by the rib-scale. If an exhibit shows FD is 329646080 and the route as [90/2575360], nothing is wrong. Variance and the feasibility condition are evaluated on the topology table values.
K values¶
router eigrp CORP
address-family ipv4 unicast autonomous-system 100
metric weights 0 1 0 1 0 0 0 ! TOS (always 0), K1, K2, K3, K4, K5, K6
K values are carried in every hello. Neighbors with different K values refuse to peer and log K-value mismatch. Changing them on one router cuts it off from every neighbor at once. show ip protocols displays the active weights, so it is the first place to look when a router has lost all neighbors after a change.
Load balancing¶
Equal cost¶
When several neighbors give exactly the same computed distance, they are all successors and are installed together, up to maximum-paths (default 4 on IOS and IOS XE). CEF then shares traffic per destination by default.
Unequal cost with variance¶
A path is installed alongside the successor only when both conditions hold:
- It is a feasible successor (its RD is less than the FD).
- Its computed distance is less than variance x FD.
The default variance 1 means equal cost only. The maximum is 128. maximum-paths still caps the total number of installed paths.
graph TB
P["Path to prefix"] --> FS{"RD less than FD?"}
FS -- No --> N1["Never installed,<br/>whatever the variance"]
FS -- Yes --> V{"Metric less than<br/>variance x FD?"}
V -- No --> N2["Kept as FS only"]
V -- Yes --> M{"Installed paths fewer<br/>than maximum-paths?"}
M -- Yes --> I["Installed, unequal share"]
M -- No --> N3["Not installed"]
traffic-share balanced (the default) shares traffic in inverse proportion to the metrics, so the better path carries more. show ip route <prefix> displays a traffic share count for each path. traffic-share min across-interfaces installs all the qualifying paths but sends traffic only over the lowest-metric one. The others sit ready in the routing table for instant use if the best path fails.
Finding the smallest working variance: divide the backup path's metric by the FD and round up to the next whole number, adding one if the result is a whole number already (because the comparison is strictly "less than"). For a backup of 300,000 against an FD of 131,072: 300,000 / 131,072 = 2.29, so variance 3.
Exam trap
A path with a better metric than the FS can still be excluded from load balancing because it fails the feasibility condition, while a worse-metric FS is included. When an exhibit asks which next hops are installed with variance, check the FC first for every path, then the variance limit, then maximum-paths.
Lab: three metric tickets¶
Use the module baseline from the address-family lab and reload it before each ticket. For each ticket, predict the new metrics on paper before you look at the router.
Ticket 8: "Traffic to the data centre no longer uses the R3 link at all."
Inject on R1:
show ip route 10.4.40.0on R1 shows one path, through 10.1.2.2.show ip eigrp topology 10.4.40.0/24still shows 10.1.3.3 as a feasible successor (RD 328,990,720 is less than FD 329,646,080). So the FC is fine.show ip protocolsshowsMaximum metric variance 1. 394,526,720 is not less than 1 x 329,646,080.- Fix with
variance 2undertopology base. Confirm both[90/2575360]and[90/3082240]entries return.
Ticket 9: "R4 dropped off EIGRP for IPv4 after someone 'tuned the metric'. IPv6 is fine."
Inject on R4:
- R2 and R3 log
Neighbor 10.2.4.2 (GigabitEthernet0/2) is down: K-value mismatchandNeighbor 10.3.4.2 ...respectively. show ip protocolson R4 showsK1=1, K2=0, K3=1, K4=1, K5=0 K6=0. The other routers show the defaults.show ipv6 eigrp neighborson R4 still shows R2 and R3, because K values are configured per address family.- Fix with
no metric weights(ormetric weights 0 1 0 1 0 0 0) on R4. Check that 10.4.40.0/24 is back on R1 with both paths.
Ticket 10: "After the QoS team worked on R1, all data centre traffic goes over the backup link."
Inject on R1:
Work the numbers before checking:
| Path from R1 | BW term | Delay (usec) | Wide metric | RIB |
|---|---|---|---|---|
| via R2 (Gi0/1, now 1000 kbps) | 10,000,000 / 1000 = 10,000 | 5020 | 65,536 x 15,020 = 984,350,720 | 7,690,240 |
| via R3 (unchanged) | 10 | 6010 | 65,536 x 6020 = 394,526,720 | 3,082,240 |
- R3 becomes the successor with FD 394,526,720. R2's RD (328,990,720, unchanged because R2's interfaces were not touched) is less than the new FD, so R2 is now the feasible successor.
- Variance 2 allows paths below 789,053,440. The R2 path at 984,350,720 is above it, so only the R3 path is installed.
show ip route 10.4.40.0confirms one path via 10.1.3.3 with metric 3,082,240.show interfaces Gi0/1 | include BWshowsBW 1000 Kbit/secon a gigabit link.- Fix: remove the
bandwidthstatement (a shaper belongs in a QoS policy, not in the interface bandwidth). If the QoS team needs the value for percentage-based policies, discuss using absolute rates in the policy instead.
Quick check¶
What is the classic metric of a route that crosses one FastEthernet link to a directly connected FastEthernet LAN on the neighbor?
Minimum bandwidth 100,000 kbps gives 10,000,000 / 100,000 = 100. Delay is two FastEthernet interfaces, 100 + 100 = 200 usec = 20 tens. Metric = 256 x (100 + 20) = 30,720.
In named mode, show ip route shows [90/15360] for a neighbor's connected subnet. What is the composite metric in the topology table?
15,360 x 128 = 1,966,080, which is 65,536 x (10 + 20) for two GigabitEthernet interfaces.
The FD is 20,000 and a feasible successor has a metric of 60,000. What is the smallest variance that installs it?
60,000 / 20,000 = 3 exactly. The metric must be strictly less than variance x FD, so variance 3 (limit 60,000) is not enough. Variance 4 is needed.
References¶
- IP Routing: EIGRP Configuration Guide, Cisco IOS XE, chapter "EIGRP Wide Metrics" (search on cisco.com)
- EIGRP named mode configuration,
metric rib-scaleandmetric weightscommand reference (search on cisco.com for the IP Routing: EIGRP command reference) - RFC 7868: Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP), section on metric calculation
- Cisco Live On-Demand Library: search "EIGRP wide metrics"
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.