## Before EIGRP

IGRP uses multiple factors to calculate the metric for a path.

Metric calculation uses bandwidth and delay by default, but can include load and reliability too.

*Metric = (K _{1} * Bandwidth + ( (K_{2 }* Bandwidth) / (256 – Load) ) + K_{3} * Delay) * ( K_{5} / (K_{4} + Reliability)*

IGRP uses K values ( K_{1}, K_{2}, K_{3}… ) to define which factors are used in the formula and the associated impact of a factor when calculating the metric.

Bandwidth represents the slowest link in a path, scaled to a 10Gbps link. Link speed is collected from the `bandwidth`

command configured on the interface. Delay is a total measure of delay in path, measured in tens of microseconds.

## Classic EIGRP

The EIGRP formula is based on the IGRP metric formula above, except the output is multiplied by 256 to change the metric from 24 bits to 32 bits.

*EIGRP Metric = 256 * (K _{1} * (10,000,000 / Minimum Bandwidth)) + (( 10,000,000 / (K_{2} * Minimum Bandwidth)) / (256 – Load)) + (K_{3} * Total Delay) / 10) * K_{5} / (K_{4} + Total Reliability) *

In a default EIGRP setup, K_{1} and K_{3} have the value of 1, and K_{2}, K_{4}, and K_{5} have the value of 0.

With this default setup, the formula of calculating the metric can be streamlined:

*Metric = 256 * (( 10,000,000 / Minimum Bandwidth) + (Total Delay / 10))*

If a bandwidth or delay setting is not set on the interface, it may revert to using one of the default values listed in the table below

Interface Type | Link Speed (Kbps) | Delay | Default Metric |

Serial | 64 | 20000 | 40,512,000 |

T1 | 1544 | 20000 | 2,170,031 |

Ethernet | 10000 | 1000 | 281,600 |

FastEthernet | 1000000 | 100 | 28160 |

GigabitEthernet | 1000000 | 10 | 2816 |

10 GigabitEthernet | 10000000 | 10 | 512 |

## Wide Metrics

EIGRP includes support for an additional set of metrics beyond the classic set, and that is wide metrics.

Wide metrics address the issue with higher bandwidth interface links coming into play with modern networks and how metric calculation affects them.

Wide metrics includes an additional K value in the formula, K6, that can be set to measure jitter, or other future attributes.

Wide EIGRP changes the scaling in a similar way that EIGRP did to IGRP, except its now 65536 instead of 256, the formula is below:

Wide Metric = 65536 * (((K_{1} * 10000000) / Minimum Bandwidth) + ((K_{2} * 10000000) / Minimum Bandwidth) / 256 – Load) + ((K_{3} * Latency) / 1000000) + (K_{6} * Extended)) * (K_{5} / (K_{4} + Reliability))

## Backwards Compatibility Between Metrics

The wide metric system was designed with backwards compatibility. The K values are set to the same values as the classic metric system allowing for adjacency between the routers (routers can only form an adjacency if the K-values remain identical).

EIGRP can also detect if a peer is using the classic metric, and unscale the metric accordingly.