If you’ve used EIGRP at all, then you’ve probably already heard about its metric formula and the related K values that are used to measure the distance of a particular path to a destination network. It’s not always easy to get your head around these concepts and how they’re used in the context of this routing protocol.

In this article, I attempt to approach the EIGRP metric formula and the related K values in a way that will be understandable, so that you can see how these are used as part of the EIGRP dynamic routing protocol.
Advanced distance vector routing protocol
EIGRP, like RIP, is a distance vector routing protocol. As such, it measures and compares the distance to the destination networks via various paths. The path with the shortest distance is considered the best path. The term used to describe the measured distance is called the “metric.”
EIGRP is a proprietary routing protocol that has been developed by Cisco. The company has consistently referred to EIGRP as an “advanced distance vector routing protocol,” to differentiate it from RIP, which today is considered unsuitable for production networks.
Why is it called an “advanced” distance vector routing protocol? Where RIP uses a simple hop count to determine the metric, EIGRP uses an intricate formula that can take additional parameters into account to determine the metric to a particular destination.
These parameters include link bandwidth, load, delay, and reliability.
EIGRP Metric Formula
So how does EIGRP determine the metric to a particular destination? Well, it uses the following formula:

Where:
- Bandwidth – Represents the slowest link in the path from the local router to the destination. Information about link speeds is collected from the statically configured interface bandwidth parameters on each interface. The bandwidth is expressed in Kb/s, and by default is equal to the actual bandwidth of the interface type. However, using the bandwidth interface command, this value can be modified.
- Load – This is a dynamic value from 0 to 255 and represents the traffic load that a particular link is experiencing, with 0 representing no traffic at all, and 255 indicating that the link is operating at full capacity.
- Delay – This is the total measure of delay in the path, and it is measured in microseconds (μs). This is a static parameter that has default values based on the speed of the interface. However, this can be modified using the delay interface command.
- Reliability – This is a dynamic value from 0 to 255 and represents the reliability of the interface in question. It is a fraction of the number of error-free packets that have been processed on the interface divided by the total number of processed packets. The value indicates the interface’s error-free operation over time, where a value of 255 indicates completely error free operation.
- K values – The K values range from K1 to K5. By setting these values to 0 or non-zero values, you are essentially indicating what components of the metric formula you want to take into account when calculating metrics, and what weight you place on that particular component of the formula.
K value misconceptions
Concerning the K values, it is a widely held misconception that each one corresponds to a particular parameter.
For example, it is said that K1 corresponds to bandwidth, K2 to load, K3 to delay and K4 to reliability, and K5 for MTU (which we’ll talk about shortly).
Although this describes in part the actual results we see from the formula, it’s not an accurate statement. As you can see from the formula, K2 is involved with both bandwidth and load in the calculations, so it does not exclusively pertain to load. Similarly, reliability is related to both K4 and K5, so it doesn’t pertain explicitly to one K value.
More appropriately stated, the K values, when set to 0 or non-zero values, simply indicate what part of the formula is in use, and what weight is placed on that formula.
The fact that some K values correspond exclusively to a particular parameter, (such as K3 for delay), while others don’t (such as K2) is simply a result of the formula.
Formula Parameters
The parameters that are used by the EIGRP formula are determined from data that is associated with particular interfaces through which a packet must egress to get to the destination. Taking a look at the output of the show interface command on a router shows us these values:
R1#show interface gigabitethernet 0/1
GigabitEthernet0/1 is up, line protocol is up
Hardware is iGbE, address is 5254.0009.2ea5 (bia 5254.0009.2ea5)
Internet address is 192.168.12.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Auto Duplex, Auto Speed, link type is auto, media type is RJ45
output flow-control is unsupported, input flow-control is unsupported
!> — Output Omitted — <
The EIGRP metric formula uses the values shown in bold for bandwidth, load, delay, and reliability. The following table gives us an understanding of how these are derived:
| Bandwidth | Delay | Reliability | Load | |
| Type | Static | Static | Dynamic | Dynamic |
| Modifiable? | Yes | Yes | No | No |
| Unit | Kb/s | Microseconds (μs) | Ratio represented as an integer from 0 to 255 | Ratio represented as an integer from 0 to 255 |
| Calculated | Slowest link in path | Cumulative delay | Local interface value | Local interface value |
| Related K values | K1 and K2 | K3 | K4 and K5 | K2 |
| Default values | Same as interface type | See table below | – | – |
The following table shows the default values of Delay assigned to the corresponding network interface types:
| Interface Type | Default Delay (μs) |
| Serial | 20000 |
| T1 | 20000 |
| Ethernet | 1000 |
| FastEthernet | 100 |
| GigabitEthernet | 10 |
| TenGigabitEthernet | 10 |
Default Operation
By default, the EIGRP metric formula uses the following K values:
K1 = 1 K2 = 0 K3 = 1 K4 = 0 K5 = 0
Note that when you plug in these values in the formula, you are not to calculate them mathematically. If that were the case, the fact that K5 = 0 would simply reduce the formula to 0. What they do mean is that the section of the formula they correspond with is simply removed.
So, with the default K values above, the formula reduces to the following:

The final value of the metric is a 32-bit number that ranges from 0 to 4294967295.
Changing the default operation
You can examine to see which K values are set by using the following command:
R1#show ip protocols
Routing Protocol is “eigrp 1”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 1
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
1.1.1.0/24
192.168.12.0
Routing Information Sources:
Gateway Distance Last Update
192.168.12.2 90 00:14:30
Distance: internal 90 external 170
In the above output you can see that the K values are indeed set to their defaults. To change the K values taken into account, you can use the following EIGRP router mode command:
metric weights tos k1 k2 k3 k4 k5
The value of tos is always zero according to Cisco’s command reference, but the other K values can be modified. The following set of commands sets all K values to 1.
R1(config)#router eigrp 1
R1(config-router)#metric weights 0 1 1 1 1 1
If you take a look at the link to Cisco’s command reference above, you’ll see that the K values can actually range from 0 to 255. This is why they are also called “weights.”
I won’t go into more details here, you can check out the reference, but suffice it to say that this gives you more flexibility as far as influencing the weight that each part of the formula has in determining the final metric.
Best practice
Now you’ll notice that by default, with K1 = K3 = 1, only the bandwidth and delay parameters, which are statically assigned, are considered. The load and reliability parameters, which are dynamic in nature, are not.
This makes sense, because, unless you have a very specific requirement, you don’t want your EIGRP routers constantly calculating and sending updates to each other every time the load or reliability of an interface changes.
It’s preferable for routing protocols to remain stable and make routing decisions based on static values like bandwidth and delay. By relying solely on these static values, EIGRP routers only need to recalculate when an interface goes down or a router crashes, keeping the network stable and efficient.
So, unless you have exceptional routing needs, it’s best to keep these values at their defaults.
Final words
Some additional comments I’d like to make can be found below.
K5 and MTU
It is often stated that K5 is related to the MTU, however, this is not the case. According to the formula, both K4 and K5 are related to reliability. MTU does not play a role in the metric calculation of EIGRP.
EIGRP Wide Metrics
The metric formula that is shown above is referred to as the classic EIGRP formula. Wide metrics are an enhancement in EIGRP to support larger and more complex networks, particularly with high-speed links like Gigabit and multi-Gigabit interfaces.
They extend the traditional EIGRP metric calculation by allowing larger values for bandwidth and delay, thus providing better granularity and more accurate path selection.
Wide metrics also introduce additional K-values to account for modern network performance characteristics, ensuring efficient routing in advanced network environments.
Conclusion
The classic EIGRP metrics formula and its associated K-values provide a robust framework for routing decisions, balancing factors such as bandwidth, delay, load, and reliability.
By adjusting these K-values, as well as interface bandwidth and delay parameters, network administrators can fine-tune EIGRP to meet specific performance and reliability requirements.
Understanding and effectively leveraging these parameters ensures optimized and efficient routing in diverse network environments.
Related Posts
- How to Configure Port Forwarding on Cisco Router (With Examples)
- Redistribution and OSFP – Discussion With Cisco Commands Examples
- Cisco HSRP States and Troubleshooting (With Commands)
- Cisco Router Login – GUI Login and How to Secure Your Access
- Route Filtering and OSPF – Workaround With Distribute List Filtering