ISIS metric – 3rd trap, the differences between IPv4 and IPv6
1. Intro
In this part we will focus on the ISIS IPv6 metric, more specifically, the differences between IPv4 and IPv6.
But before that, let’s remind ourselves that this post is part of a 3 part series about the impact of ISIS Narrow and Wide metrics:
- 1st part – in the 1st post we saw the unexpected impact of using both Narrow and Wide by default
- 2nd part – in the previous post we covered the unexpected impact of configuring
wide-metrics-only - 3rd part – in this post, we will cover the differences between IPv4 and IPv6 related to this metric topic
2. The test topology
The topology is the same, the only addition is that R5 is now redistributing IPv6 external routers to ISIS. Let’s review the main points:
- All links have metric 1000
- R1 and R2 will be L2 routers in Area 49.001, the backbone or our network.
- R4 is a L1/L2 router in Area 49.002, the ABR.
- R3 and R5 are L1 routers in Area 49.002.
- R5 is the ASBR, redistributing IPv6 external routes to ISIS.
- At this point
wide-metrics-onlyis configured everywhere.

We will start this post with the configuration from post 2. The only addition to the configuration is the redistribution of IPv6 external routes. Let’s see the ISIS configuration:
root@r4> show configuration | display set | match "protocols isis|ISIS-EXPORT|aggregate"
set policy-options policy-statement ISIS-EXPORT term L2-lo0-to-L1 from protocol isis
set policy-options policy-statement ISIS-EXPORT term L2-lo0-to-L1 from level 2
set policy-options policy-statement ISIS-EXPORT term L2-lo0-to-L1 from route-filter 17.0.0.0/24 prefix-length-range /32-/32
set policy-options policy-statement ISIS-EXPORT term L2-lo0-to-L1 to level 1
set policy-options policy-statement ISIS-EXPORT term L2-lo0-to-L1 then accept
set policy-options policy-statement ISIS-EXPORT term EXTERNAL-ROUTES from route-filter 192.168.0.0/22 exact
set policy-options policy-statement ISIS-EXPORT term EXTERNAL-ROUTES to level 2
set policy-options policy-statement ISIS-EXPORT term EXTERNAL-ROUTES then accept
set routing-options aggregate route 192.168.0.0/22
set protocols isis interface ge-0/0/1.0 level 2 metric 1000
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface ge-0/0/2.0 level 1 metric 1000
set protocols isis interface ge-0/0/2.0 point-to-point
set protocols isis interface lo0.0 passive
set protocols isis level 1 wide-metrics-only
set protocols isis level 2 wide-metrics-only
set protocols isis export ISIS-EXPORT
root@r3> show configuration protocols isis | display set
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface ge-0/0/2.0 level 1 metric 1000
set protocols isis interface ge-0/0/2.0 point-to-point
set protocols isis interface ge-0/0/3.0 level 1 metric 1000
set protocols isis interface ge-0/0/3.0 point-to-point
set protocols isis interface lo0.0 passiveset protocols isis level 1 wide-metrics-onlyset protocols isis level 2 disable
root@r5> show configuration | display set | match "protocols isis|TO-ISIS"
set policy-options policy-statement TO-ISIS term STATIC from protocol static
set policy-options policy-statement TO-ISIS term STATIC from route-filter 192.168.1.0/24 exact
set policy-options policy-statement TO-ISIS term STATIC from route-filter 192.168.2.0/24 exact
set policy-options policy-statement TO-ISIS term STATIC from route-filter 192.168.3.0/24 exact
set policy-options policy-statement TO-ISIS term STATIC then acceptset policy-options policy-statement TO-ISIS term STATIC6 from route-filter 2001:db80:0:5::/64 exact
set policy-options policy-statement TO-ISIS term STATIC6 from route-filter 2001:db80:1:5::/64 exact
set policy-options policy-statement TO-ISIS term STATIC6 from route-filter 2001:db80:2:5::/64 exact
set policy-options policy-statement TO-ISIS term STATIC6 then acceptset protocols isis interface ge-0/0/1.0 level 1 metric 1000
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface lo0.0 passiveset protocols isis level 1 wide-metrics-onlyset protocols isis level 2 disableset protocols isis export TO-ISIS
3. Different metric impact on IPv6 routes
First, as a quick reminder, let’s review the ISIS metric main points for IPv4 routes:
- With default settings, the wide metric TLV is limited to the maximum value (63) of the narrow metric
- We know that IPv4 external routes become internal routes when
wide-metric-onlyis configured, and this is also reflected in the administrative distance
Let’s highlight how IPv6 routes are different when compared with IPv4 routes:
- With default settings, the IPv6 Reachability TLV will also limit metric to the maximum value (63) of the narrow metric – no change here
- The IPv6 Reachability TLV has an External/Internal bit, so there will no change in route type, external routers will remain external routes, with the same administrative distance, even if
wide-metric-onlyis configured – different behavior when compared with IPv4
Let’s check the CLI output and confirm that the IPv6 are marked as External even if wide-metric-only is configured, and the consequence is that they will not pass to L2 :
### We can see the IPv4 external routes from the previous post are passing from L1 to L2 because they appear as internal (notice the AD):
root@r1> show route 192.168.1.0/22
inet.0: 28 destinations, 28 routes (28 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.0.0/22 *[IS-IS/18] 1w1d 02:35:26, metric 2010
> to 17.8.0.2 via ge-0/0/1.0
192.168.1.0/24 *[IS-IS/18] 1w0d 23:48:23, metric 4000
> to 17.8.0.2 via ge-0/0/1.0
192.168.2.0/24 *[IS-IS/18] 1w0d 23:48:23, metric 4000
> to 17.8.0.2 via ge-0/0/1.0
192.168.3.0/24 *[IS-IS/18] 1w0d 23:48:23, metric 4000
> to 17.8.0.2 via ge-0/0/1.0
### How about the IPv6 external routes? No, the IPv6 are not passing:
root@r1> show route 2001:db80:1:5::/40
root@r1>
### But those IPv6 external prefixes are present in the L1 database on the ABR router.
### Even if wide-metric-only is configured, these routes are internal, as the AD indicates:
root@r4> show route 2001:db80:1:5::/40
inet6.0: 26 destinations, 26 routes (26 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
2001:db80:0:5::/64 *[IS-IS/160] 00:20:35, metric 2000
> to fe80::5604:dff:fe00:5067 via ge-0/0/2.0
2001:db80:1:5::/64 *[IS-IS/160] 00:20:35, metric 2000
> to fe80::5604:dff:fe00:5067 via ge-0/0/2.0
2001:db80:2:5::/64 *[IS-IS/160] 00:20:35, metric 2000
> to fe80::5604:dff:fe00:5067 via ge-0/0/2.0
### We can see the same in the ISIS database:
root@r4> show isis database r5 extensive
IS-IS level 1 link-state database:
r5.00-00 Sequence: 0x398, Checksum: 0xdf95, Lifetime: 518 secs
IS neighbor: r3.00 Metric: 1000
Two-way fragment: r3.00-00, Two-way first fragment: r3.00-00
IP prefix: 17.0.0.5/32 Metric: 0 Internal Up
IP prefix: 17.8.4.0/24 Metric: 1000 Internal Up
IP prefix: 128.49.239.220/32 Metric: 0 Internal Up
IP prefix: 192.168.1.0/24 Metric: 0 Internal Up
IP prefix: 192.168.2.0/24 Metric: 0 Internal Up
IP prefix: 192.168.3.0/24 Metric: 0 Internal Up
V6 prefix: 2001:db80:0:5::/64 Metric: 0 External Up
V6 prefix: 2001:db80:1:5::/64 Metric: 0 External Up
V6 prefix: 2001:db80:2:5::/64 Metric: 0 External Up
V6 prefix: 2001:db88::5/128 Metric: 0 Internal Up
V6 prefix: 2001:db88:8:4::/64 Metric: 1000 Internal Up
V6 prefix: abcd::128:49:239:220/128 Metric: 0 Internal Up
Header: LSP ID: r5.00-00, Length: 333 bytes
Allocated length: 381 bytes, Router ID: 17.0.0.5
Remaining lifetime: 518 secs, Level: 1, Interface: 358
Estimated free bytes: 19, Actual free bytes: 48
Aging timer expires in: 518 secs
Protocols: IP, IPv6
Packet: LSP ID: r5.00-00, Length: 333 bytes, Lifetime : 1196 secs
Checksum: 0xdf95, Sequence: 0x398, Attributes: 0x1 <L1>
NLPID: 0x83, Fixed length: 27 bytes, Version: 1, Sysid length: 0 bytes
Packet type: 18, Packet version: 1, Max area: 0
TLVs:
Area address: 49.0002 (3)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: 17.0.0.5
IP address: 17.0.0.5
IPv6 TE Router ID: abcd::128:49:239:220
Hostname: r5
Extended IS Reachability TLV, Type: 22, Length: 69
IS extended neighbor: r3.00, Metric: default 1000 SubTLV len: 58
IP address: 17.8.4.2
IPv6 address: 2001:db88:8:4::2
Neighbor's IP address: 17.8.4.1
Neighbor's IPv6 address: 2001:db88:8:4::1
Local interface index: 357, Remote interface index: 359
IP extended prefix: 128.49.239.220/32 metric 0 up
IP extended prefix: 17.0.0.5/32 metric 0 up
IP extended prefix: 17.8.4.0/24 metric 1000 up
IP address: 128.49.239.220
IPv6 prefix: abcd::128:49:239:220/128 Metric 0 Up
IPv6 prefix: 2001:db88::5/128 Metric 0 Up
IPv6 prefix: 2001:db88:8:4::/64 Metric 1000 Up
IPv6 prefix: 2001:db80:0:5::/64 Metric 0 External Up
IPv6 prefix: 2001:db80:1:5::/64 Metric 0 External Up
IPv6 prefix: 2001:db80:2:5::/64 Metric 0 External Up
IP extended prefix: 192.168.1.0/24 metric 0 up
IP extended prefix: 192.168.2.0/24 metric 0 up
IP extended prefix: 192.168.3.0/24 metric 0 up
Router Capability: Router ID 17.0.0.5, Flags: 0x00
IPv6 TE Router Id: abcd::128:49:239:220
No queued transmissions
IS-IS level 2 link-state database:
### We can see the same on the Wireshark capture:
ISO 10589 ISIS Link State Protocol Data Unit
PDU length: 333
Remaining lifetime: 1196
LSP-ID: 0001.1100.0005.00-00
Sequence number: 0x00000398
Checksum: 0xdf95 [correct]
[Checksum Status: Good]
Type block(0x01): Partition Repair:0, Attached bits:0, Overload bit:0, IS type:1
Area address(es) (t=1, l=4)
Originating neighbor buffer size (t=14, l=2)
Protocols supported (t=129, l=2)
Traffic Engineering Router ID (t=134, l=4)
IP Interface address(es) (t=132, l=4)
IPv6 TE Router ID (t=140, l=16)
Hostname (t=137, l=2)
Extended IS reachability (t=22, l=69)
Type: 22
Length: 69
IS Neighbor: 0001.1100.0003.00
IS neighbor ID: 0001.1100.0003.00
Metric: 1000
SubCLV Length: 58
subTLV: IPv4 interface address (c=6, l=4)
subTLV: IPv6 Interface Address (c=12, l=16)
Code: IPv6 Interface Address (12)
Length: 16
IPv6 interface address: 2001:db88:8:4::2
subTLV: IPv4 neighbor address (c=8, l=4)
subTLV: IPv6 Neighbor Address (c=13, l=16)
Code: IPv6 Neighbor Address (13)
Length: 16
IPv6 neighbor address: 2001:db88:8:4::1
subTLV: Link Local/Remote Identifiers (c=4, l=8)
Extended IP Reachability (t=135, l=26)
IP Interface address(es) (t=132, l=4)
IPv6 reachability (t=236, l=100)
Type: 236
Length: 100
IPv6 Reachability: abcd::128:49:239:220/128
IPv6 Reachability: 2001:db88::5/128
IPv6 Reachability: 2001:db88:8:4::/64
Metric: 1000
0... .... = Distribution: Up
.0.. .... = Distribution: Internal
..0. .... = Sub-TLV: No
Prefix Length: 64
IPv6 prefix: 2001:db88:8:4::
no sub-TLVs present
IPv6 Reachability: 2001:db80:0:5::/64
Metric: 0
0... .... = Distribution: Up
.1.. .... = Distribution: External
..0. .... = Sub-TLV: No
Prefix Length: 64
IPv6 prefix: 2001:db80:0:5::
no sub-TLVs present
IPv6 Reachability: 2001:db80:1:5::/64
Metric: 0
0... .... = Distribution: Up
.1.. .... = Distribution: External
..0. .... = Sub-TLV: No
Prefix Length: 64
IPv6 prefix: 2001:db80:1:5::
no sub-TLVs present
IPv6 Reachability: 2001:db80:2:5::/64
Metric: 0
0... .... = Distribution: Up
.1.. .... = Distribution: External
..0. .... = Sub-TLV: No
Prefix Length: 64
IPv6 prefix: 2001:db80:2:5::
no sub-TLVs present
Extended IP Reachability (t=135, l=24)
Router Capability (t=242, l=23)
Next, let’s remove wide-metric-only and that the metric will be limited to 63:
### We can see that the LSP is generated now with metric 63.
root@r5# run show isis database r5 extensive
IS-IS level 1 link-state database:
r5.00-00 Sequence: 0x39a, Checksum: 0x7796, Lifetime: 1178 secs
IS neighbor: r3.00 Metric: 63
Two-way fragment: r3.00-00, Two-way first fragment: r3.00-00
IP prefix: 17.0.0.5/32 Metric: 0 Internal Up
IP prefix: 17.8.4.0/24 Metric: 63 Internal Up
IP prefix: 128.49.239.220/32 Metric: 0 Internal Up
IP prefix: 192.168.1.0/24 Metric: 0 External Up
IP prefix: 192.168.2.0/24 Metric: 0 External Up
IP prefix: 192.168.3.0/24 Metric: 0 External Up
V6 prefix: 2001:db80:0:5::/64 Metric: 0 External Up
V6 prefix: 2001:db80:1:5::/64 Metric: 0 External Up
V6 prefix: 2001:db80:2:5::/64 Metric: 0 External Up
V6 prefix: 2001:db88::5/128 Metric: 0 Internal Up
V6 prefix: 2001:db88:8:4::/64 Metric: 63 Internal Up
V6 prefix: abcd::128:49:239:220/128 Metric: 0 Internal Up
Header: LSP ID: r5.00-00, Length: 423 bytes
Allocated length: 1492 bytes, Router ID: 17.0.0.5
Remaining lifetime: 1178 secs, Level: 1, Interface: 0
Estimated free bytes: 1098, Actual free bytes: 1069
Aging timer expires in: 1178 secs
Protocols: IP, IPv6
Packet: LSP ID: r5.00-00, Length: 423 bytes, Lifetime : 1198 secs
Checksum: 0x7796, Sequence: 0x39a, Attributes: 0x1 <L1>
NLPID: 0x83, Fixed length: 27 bytes, Version: 1, Sysid length: 0 bytes
Packet type: 18, Packet version: 1, Max area: 0
TLVs:
Area address: 49.0002 (3)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: 17.0.0.5
IP address: 17.0.0.5
IPv6 TE Router ID: abcd::128:49:239:220
Hostname: r5
IS neighbor: r3.00, Internal, Metric: default 63
Extended IS Reachability TLV, Type: 22, Length: 69
IS extended neighbor: r3.00, Metric: default 63 SubTLV len: 58
IP address: 17.8.4.2
IPv6 address: 2001:db88:8:4::2
Neighbor's IP address: 17.8.4.1
Neighbor's IPv6 address: 2001:db88:8:4::1
Local interface index: 357, Remote interface index: 359
IP prefix: 128.49.239.220/32, Internal, Metric: default 0, Up
IP prefix: 17.0.0.5/32, Internal, Metric: default 0, Up
IP prefix: 17.8.4.0/24, Internal, Metric: default 63, Up
IP extended prefix: 128.49.239.220/32 metric 0 up
IP extended prefix: 17.0.0.5/32 metric 0 up
IP extended prefix: 17.8.4.0/24 metric 63 up
IP address: 128.49.239.220
IPv6 prefix: abcd::128:49:239:220/128 Metric 0 Up
IPv6 prefix: 2001:db88::5/128 Metric 0 Up
IPv6 prefix: 2001:db80:0:5::/64 Metric 0 External Up
IPv6 prefix: 2001:db80:1:5::/64 Metric 0 External Up
IPv6 prefix: 2001:db80:2:5::/64 Metric 0 External Up
IPv6 prefix: 2001:db88:8:4::/64 Metric 63 Up
IP external prefix: 192.168.1.0/24, Internal, Metric: default 0, Up
IP external prefix: 192.168.2.0/24, Internal, Metric: default 0, Up
IP external prefix: 192.168.3.0/24, Internal, Metric: default 0, Up
IP extended prefix: 192.168.1.0/24 metric 0 up
IP extended prefix: 192.168.2.0/24 metric 0 up
IP extended prefix: 192.168.3.0/24 metric 0 up
Router Capability: Router ID 17.0.0.5, Flags: 0x00
IPv6 TE Router Id: abcd::128:49:239:220
No queued transmissions
IS-IS level 2 link-state database:
This confirms that with the default metric (narrow + wide), IPv4 and IPv6 have the same behaviour.
4. Conclusion
- With default settings, the IPv6 Reachability TLV 236 will also limit metric to the maximum value (63) of the narrow metric – same as IPv4
- The IPv6 Reachability TLV 236 has an External/Internal bit, so there will no impact for IPv6 routes when configuring
wide-metric-only. External routers will remain external routes, with the same administrative distance – different behavior when compared with IPv4
External Resources: