Wide Metrics Explained
Last updated
Last updated
Load isis.inter.area.cfg
This will be a “follow along” lab rather than a challenge lab.
First we’ll observe the behavior with the default narrow metrics setting.
Narrow metrics use the following TLVs:
TLV 2 - IS Reachability
TLV 128 - IP Internal Reachability
TLV 130 - IP External Reachability
The metric of all TLVs is 6 bits, so the max value is 63.
Observe what happens when the metric is set to a value higher than 63.
The router tells us that the metric is capped at 63. The maximum end-to-end metric is 1024, so on R1 we will see routes as having a metric of 63, 73, 83, etc.
Redistribute a route on R1 into level 1 and notice the behavior.
R1 advertises the prefix in a separate TLV, IP External Reachability. This allows other routers to differentiate between internal and external prefixes.
When R3 advertises this into the L2, it uses the IP Internal reachability TLV to do so, and the fact that this was an external route in the L1 is lost.
Wide metrics use two TLVs in place of the three TLVs used with narrow metrics:
TLV 22 - Extended IS Reachability
TLV 135 - Extended IP Reachability
These TLVs also have the ability to add subTLVs which adds more information, for example TE information.
TLV 22 uses a metric of 24 bits whic allows for a link metric value of up to 16,777,215. TLV 135 uses a metric of 32 bits, allowing for a metric of up to 4.3 billion. (This is necessary to handle prefixes propagated between levels, might have a high cost due to max metric links in that level. A 24 bit metric would be too small for prefixes if the link metrics are at max value.)
TLV 135 has an Up/Down bit to indicate whether a prefix is inter-area when propagating L2 routes into L1. TLV 135 also adds subTLV prefix attribute flags, including an external prefix flag which can differentiate between internal and external prefixes.
Enable wide metrics in the transition style on R1. This configures the router to generate both narrow and extended metrics, and to also accept both narrow and extended metrics.
Notice what happens when you try to increase the metric on Gi1.12 above 63.
Even though wide metrics are advertised now, they are still tied to the narrow metric due to the transition setting, so you are capped at a max of 63. You must either use wide-metrics only, or wide-metrics with the transition support (which means generate only wide metrics but also accept narrow).
Let’s also examine the new TLV 135 that R1 generated.
Interestingly, the external prefix flag is off for 100.1.1.1/32, even though it is an external prefix.
Let’s observe the same redistribution behavior on XR2.
Interestingly, XR does set the external bit in the extended IP reachability TLV:
On all routers let’s configure support for only wide metrics.
On R1 we can now successfully configure a higher metric value.
R1 is still not setting the redistributed prefix as external. We can see this using the verbose keyword when viewing the LSDB. X is the external bit, which is set to 0.
XR2 still tags the 200.1.1.1/32 route as external. Interestingly, XR1 keeps the external prefix bit set when advertising 200.1.1.1/32 into level 2. It also tags all prefixes it is redistributing from L1 into L2 as “re-advertisement”, using the R bit.
R3 and R4 also tag L1 routes as “re-advertisement” when advertising into the L2. So this behavior is the same on IOS-XE and IOS-XR.
These days there is not really a reason to use narrow metrics. Wide metrics should really be the default standard when setting up a greenfield ISIS IGP. My guess is that the only reason IOS-XE and IOS-XR default to narrow metrics is to be “plug-and-play” when adding routers to existing ISIS IGPs in which the metric style is narrow and the operators paid no attention to whether they are using wide/narrow metrics.
With wide metrics, we appear to lose some support for external prefixes, at least on this CSR1000v. However, in ISIS you normally don’t really need to differentiate between an internal and external prefix anyways. (When prefixes are designated as external, they are chosen last in the path selection order. The router chooses L1 over L2, but if both from the same level, then internal is better than external. The final consideration, if the same level and same internal/external status, is the lowest metric).