What are the EIGRP K values, and why should you leave them at their defaults?
Show the answer
Say this first
K1 to K5 are weights that decide which of bandwidth, load, delay and reliability go into the metric. The defaults are K1=1 and K3=1, the rest 0, so only bandwidth and delay count. Named mode adds K6 for extended attributes such as jitter and energy, default 0. I leave them alone: load and reliability change constantly, so using them makes metrics move and routes churn, and every router must use the same values or neighbors will not form.
Go deeper
What each one weights
| K value | Weights | Default |
|---|---|---|
| K1 | Bandwidth | 1 |
| K2 | Bandwidth divided by load | 0 |
| K3 | Delay | 1 |
| K4, K5 | Reliability | 0 |
| K6 (named mode) | Extended attributes | 0 |
The command
router eigrp 100
metric weights 0 1 0 1 0 0The first number is the type of service and is always 0. Then K1 to K5. The line above is the default.
What a mismatch looks like
%DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.13.3 (GigabitEthernet0/0/1) is down: K-value mismatchCompare both sides quickly:
R1# show ip protocols | include K1
Metric weight K1=1, K2=0, K3=1, K4=0, K5=0They will ask next
Why is using load in the metric a bad idea?
Load is sampled over a few minutes and changes all the time. If it is in the metric, a busy link looks worse, traffic moves to the other path, the first link gets quiet and looks better again, and traffic swings back. You get route flapping driven by your own traffic.
What does a hello with every K value set to 255 mean?
It is the goodbye message. A router sends it when EIGRP is being shut down on that interface so the neighbor drops the adjacency at once instead of waiting for the hold time.
Traps
- Leaving out the leading TOS value in
metric weightsand shifting every K value by one.