ISIS does not use IP (layer 3) to communicate. ISIS operates at layer 2, which makes it agnostic to layer 3 information. In ISIS it is very easy to add IPv6 support, whereas OSPF required an entire new version, OSPFv3.
If you’d like to run IPv4 and IPv6 in ISIS you have a choice - multi-topology or single topology. What is confusing is that, by default, IOS-XE uses single topology and IOS-XR uses multi-topology.
Single topology
In this case, a single topology is used, and both IPv4 and IPv6 prefixes are placed in this topology. IPv4 and IPv6 prefixes advertised by the same node will always have identical paths, because only a single topology is used to calculate paths. The benefit of single topology is that it requires only a single SPF run for both IPv4 and IPv6 shortest path determination.
Multi-topology
In this case, there is a topology for only IPv4, and a separate topology for only IPv6. Paths between two nodes for IPv4 and IPv6 prefixes on the same node can be different, as there is a topology for calculating IPv4 paths and a separate topology for calculating IPv6 paths. The benefit of this is that each router in the area can run only IPv4, only IPv6, or a mix. (With single topology, all routers have to support both IPv4 and IPv6). Another benefit is that you can control paths for IPv4 and IPv6 traffic independently. The drawback is that you have two full SPFs runs when determining paths for IPv4 and IPv6 destinations.
Lab (Single Topology)
We will use the following topology to examine single topology and multi-topology.
Here are the startup-configs:
#R1
hostname R1
line con 0
logging sync
!
ipv6 unicast-routing
!
int Gi1
ip address 10.1.2.1 255.255.255.0
ipv6 address 2001:db8:1:2::1/64
ip router isis
ipv6 router isis
isis network point-to-point
no shut
!
int lo0
ip address 1.1.1.1 255.255.255.255
ipv6 address 2001:db8::1/128
ip router isis
ipv6 router isis
!
router isis
net 49.0001.0000.0000.0001.00
is-type level-1
#R2
hostname R2
line con 0
logging sync
!
ipv6 unicast-routing
!
int Gi1
ip address 10.1.2.2 255.255.255.0
ipv6 address 2001:db8:1:2::2/64
ip router isis
ipv6 router isis
isis network point-to-point
no shut
!
int Gi2
ip address 10.2.4.2 255.255.255.0
ipv6 address 2001:db8:2:4::2/64
ip router isis
ipv6 router isis
isis network point-to-point
no shut
!
int Gi3
ip address 10.2.3.2 255.255.255.0
ipv6 address 2001:db8:2:3::2/64
ip router isis
ipv6 router isis
isis network point-to-point
no shut
!
int lo0
ip address 2.2.2.2 255.255.255.255
ipv6 address 2001:db8::2/128
ip router isis
ipv6 router isis
!
router isis
net 49.0001.0000.0000.0002.00
is-type level-1
#XR3
hostname XR3
!
int Gi0/0/0/0
ip address 10.3.4.3/24
ipv6 address 2001:db8:3:4::3/64
no shut
!
int Gi0/0/0/1
ip address 10.2.3.3/24
ipv6 address 2001:db8:2:3::3/64
no shut
!
int Gi0/0/0/2
ip address 10.3.5.3/24
ipv6 address 2001:db8:3:5::3/64
no shut
!
int Lo0
ip address 3.3.3.3/32
ipv6 address 2001:db8::3/128
!
router isis 1
net 49.0001.0000.0000.0003.00
is-type level-1
address-family ipv6 unicast
single-topology
int Gi0/0/0/0
address-family ipv4 unicast
exit
address-family ipv6 unicast
exit
point-to-point
int Gi0/0/0/1
address-family ipv4 unicast
exit
address-family ipv6 unicast
exit
point-to-point
int Gi0/0/0/2
address-family ipv4 unicast
exit
address-family ipv6 unicast
exit
point-to-point
int Lo0
address-family ipv4 unicast
exit
address-family ipv6 unicast
exit
#R4
hostname R4
line con 0
logging sync
!
ipv6 unicast-routing
!
int Gi1
ip address 10.2.4.4 255.255.255.0
ipv6 address 2001:db8:2:4::4/64
ip router isis
ipv6 router isis
isis network point-to-point
no shut
!
int Gi2
ip address 10.3.4.4 255.255.255.0
ipv6 address 2001:db8:3:4::4/64
ip router isis
ipv6 router isis
isis network point-to-point
no shut
!
int lo0
ip address 4.4.4.4 255.255.255.255
ipv6 address 2001:db8::4/128
ip router isis
ipv6 router isis
!
router isis
net 49.0001.0000.0000.0004.00
is-type level-1
#XR5
hostname XR5
!
int Gi0/0/0/0
ip address 10.3.5.5/24
ipv6 address 2001:db8:3:5::5/64
no shut
!
int Lo0
ip address 5.5.5.5/32
ipv6 address 2001:db8::5/128
!
router isis 1
net 49.0001.0000.0000.0005.00
is-type level-1
address-family ipv6 unicast
single-topology
int Gi0/0/0/0
address-family ipv4 unicast
exit
address-family ipv6 unicast
exit
point-to-point
int Lo0
address-family ipv4 unicast
exit
address-family ipv6 unicast
exit
You can verify that routers in the area are running single-topology by looking at their NLPID (Network Layer Protocol ID) in the LSPDB. 0xCC is IPv4 and 0x8E is IPv6.
R1#show isis data detail R2.00-00
IS-IS Level-1 LSP R2.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R2.00-00 0x00000007 0x4C85 660/1200 0/0/0
Area Address: 49.0001
Hostname: R2
Metric: 10 IS R1.00
Metric: 10 IS R4.00
Metric: 10 IS XR3.00
IP Address: 2.2.2.2
Metric: 10 IP 10.1.2.0 255.255.255.0
Metric: 10 IP 10.2.4.0 255.255.255.0
Metric: 10 IP 10.2.3.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
IPv6 Address: 2001:DB8::2
Metric: 10 IPv6 2001:DB8:1:2::/64
Metric: 10 IPv6 2001:DB8:2:4::/64
Metric: 10 IPv6 2001:DB8:2:3::/64
Metric: 10 IPv6 2001:DB8::2/128
What happens if a single router is not running IPv6? Let’s turn IPv6 off on R2.
#R2
no ipv6 unicast-routing
R2#show isis data R2.00-00 detail
IS-IS Level-1 LSP R2.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R2.00-00 * 0x0000000A 0x2E3D 1191/* 0/0/0
Area Address: 49.0001
Hostname: R2
Metric: 10 IS R1.00
Metric: 10 IS R4.00
IP Address: 2.2.2.2
Metric: 10 IP 10.1.2.0 255.255.255.0
Metric: 10 IP 10.2.4.0 255.255.255.0
Metric: 10 IP 10.2.3.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
R2#
*Aug 1 21:52:58.318: %CLNS-5-ADJCHANGE: ISIS: Adjacency to R4 (GigabitEthernet2) Down, neighbor forgot us
*Aug 1 21:52:58.683: %CLNS-5-ADJCHANGE: ISIS: Adjacency to R1 (GigabitEthernet1) Down, neighbor forgot us
0x8E (IPv6) is now missing from the NLPID. R2’s neighbors bring down the adjacency as the neighborship is no longer valid. Neighbors must agree and match on the supported NLPIDs.
R1 is now isolated, and has no reachability to the ISIS area.
R1#show isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
Now you can see why multi-topology would be necessary for this scenario. If you wanted to strategically enable IPv6 and turn of IPv4 on your internal links, router by router, you could not run single-topology.
Let’s turn IPv6 routing back on. We also have to re-add the ipv6 address-family for ISIS under each interface again.
#R2
ipv6 unicast-routing
!
int Gi1
ipv6 router isis
!
int Gi2
ipv6 router isis
!
int Gi3
ipv6 router isis
!
int Lo0
ipv6 router isis
Next we’ll explore path selection for IPv4 and IPv6 traffic with single topology. What happens if we try to force traffic from R1 to XR3 to take the path R1-R2-R4-XR3? Let’s try to change the ipv6 metric for Gi3 on R2 to 30. This should make the path R1-R2-XR3 = 50, which is worse than R1-R2-R4-XR3 = 40.
#R2
int gi3
isis ipv6 metric 30
R2#show isis data R2.00-00 detail
IS-IS Level-1 LSP R2.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R2.00-00 * 0x00000011 0x299E 999/* 0/0/0
Area Address: 49.0001
NLPID: 0xCC 0x8E
Hostname: R2
Metric: 10 IS R4.00
Metric: 10 IS R1.00
IS XR3.00
IP Address: 2.2.2.2
Metric: 10 IP 10.1.2.0 255.255.255.0
Metric: 10 IP 10.2.4.0 255.255.255.0
Metric: 10 IP 10.2.3.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
IPv6 Address: 2001:DB8::2
Metric: 10 IPv6 2001:DB8:1:2::/64
Metric: 10 IPv6 2001:DB8:2:3::/64
Metric: 10 IPv6 2001:DB8:2:4::/64
Metric: 10 IPv6 2001:DB8::2/128
The metric to XR3 is still 10. The ipv6 metric has no effect since this is single-topology. In single-topology, IPv6 “uses” the IPv4 topology. Let’s remove the ipv6 metric and configure the regular isis metric.
#R2
int Gi3
no isis ipv6 metric 30
isis metric 30
R2#show isis database R2.00-00 detail
IS-IS Level-1 LSP R2.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R2.00-00 * 0x00000012 0xA4E5 1186/* 0/0/0
Area Address: 49.0001
NLPID: 0xCC 0x8E
Hostname: R2
Metric: 10 IS R4.00
Metric: 10 IS R1.00
IS XR3.00
IP Address: 2.2.2.2
Metric: 10 IP 10.1.2.0 255.255.255.0
Metric: 10 IP 10.2.4.0 255.255.255.0
Metric: 30 IP 10.2.3.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
IPv6 Address: 2001:DB8::2
Metric: 10 IPv6 2001:DB8:1:2::/64
Metric: 30 IPv6 2001:DB8:2:3::/64
Metric: 10 IPv6 2001:DB8:2:4::/64
Metric: 10 IPv6 2001:DB8::2/128
The metric is set correctly now, but both IPv4 and IPv6 traffic goes through the path R1-R2-R4-XR3.
R1#traceroute 3.3.3.3 probe 1
Type escape sequence to abort.
Tracing the route to 3.3.3.3
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.2.2 2 msec
2 10.2.4.4 2 msec
3 10.3.4.3 8 msec
R1#traceroute 2001:db8::3 probe 1
Type escape sequence to abort.
Tracing the route to 2001:DB8::3
1 2001:DB8:1:2::2 16 msec
2 2001:DB8:2:4::4 18 msec
3 2001:DB8::3 38 msec
The only way to force IPv4 and IPv6 traffic to take separate paths is to create a separate topology for each address-family.
Lab (Multi-Topology)
Let’s now configure multi-topology. This is the default on IOS-XR, so we will remove the single-topology statement from before. We’ll need to add the multi-topology statement to IOS-XE, since single-topology is the default on IOS-XE. To use multi-topology, we must enable wide metrics. You only set multi-topology on the IPv6 address-family.
Let’s pause here and examine the consequences of configuring this. R1 is running wide metrics and multi-topology. R2 is running wide metrics but single topology. All other routers are normal metrics and single topology.
R1#show isis nei
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L1 Gi1 10.1.2.2 UP 28 01
R1#show ip route isis | be Gateway
Gateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets
i L1 2.2.2.2 [115/20] via 10.1.2.2, 00:00:30, GigabitEthernet1
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
i L1 10.2.3.0/24 [115/40] via 10.1.2.2, 00:00:30, GigabitEthernet1
i L1 10.2.4.0/24 [115/20] via 10.1.2.2, 00:00:30, GigabitEthernet1
R1#show ipv6 route isis
IPv6 Routing Table - default - 4 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
R1#show isis database R1.00-00 detail
IS-IS Level-1 LSP R1.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R1.00-00 * 0x00000012 0x3C05 1035/* 0/0/0
Area Address: 49.0001
NLPID: 0xCC 0x8E
Topology: IPv4 (0x0)
IPv6 (0x2)
Hostname: R1
Metric: 10 IS-Extended R2.00
IP Address: 1.1.1.1
Metric: 10 IP 1.1.1.1/32
Metric: 10 IP 10.1.2.0/24
IPv6 Address: 2001:DB8::1
Metric: 10 IPv6 (MT-IPv6) 2001:DB8::1/128
Metric: 10 IPv6 (MT-IPv6) 2001:DB8:1:2::/64
R1’s adjacency with R2 stays up, because they both support 0xCC and 0x8E. However there is an additional TLV (237), Multi-Topology Reachable IPv6 prefixes, which R1 is using. This is not compatible with single topology for IPv6, which uses TLV 236 for IPv6 prefixes. So while the adjacencies stay up, R1 cannot reach any IPv6 prefixes advertised by other single topology routers. Similarly, single topology routers cannot reach any IPv6 prefixes behind R1.
However, while IPv6 is broken, you can see that IPv4 reachability still works fine. (Not all prefixes are in the RIB because only R2 is running wide-metrics right now).
There is an additional parameter you can use when you setup multi-topology, which is transition. This allows the router to generate the regular IPv6 TLVs as well as the multi-topology TLVs.
Looking at R1’s LSP, we can see that it is now advertising the normal IPv6 TLVs in addition to the multi-topology TLVs. Now IPv6 works, and you could convert all routers to multi-topology, and then remove the transition keyword.
Let’s continue configuring all routers for multi-topology.
Now that we are running multi-topology, what happens if we turn IPv6 routing off on R2 again? Will IPv4 reachability still work, or will it be broken like it was when we were running single-topology?
#R2
no ipv6 unicast-routing
R1#show ip route isis | be Gateway
Gateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets
i L1 2.2.2.2 [115/20] via 10.1.2.2, 00:09:50, GigabitEthernet1
3.0.0.0/32 is subnetted, 1 subnets
i L1 3.3.3.3 [115/40] via 10.1.2.2, 00:03:40, GigabitEthernet1
4.0.0.0/32 is subnetted, 1 subnets
i L1 4.4.4.4 [115/30] via 10.1.2.2, 00:06:09, GigabitEthernet1
5.0.0.0/32 is subnetted, 1 subnets
i L1 5.5.5.5 [115/50] via 10.1.2.2, 00:02:20, GigabitEthernet1
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
i L1 10.2.3.0/24 [115/40] via 10.1.2.2, 00:03:40, GigabitEthernet1
i L1 10.2.4.0/24 [115/20] via 10.1.2.2, 00:09:50, GigabitEthernet1
i L1 10.3.4.0/24 [115/30] via 10.1.2.2, 00:06:09, GigabitEthernet1
i L1 10.3.5.0/24 [115/40] via 10.1.2.2, 00:03:40, GigabitEthernet1
R1#show ipv6 route isis
IPv6 Routing Table - default - 4 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
R1#
R1 has retained the IPv4 routes, but lost all IPv6 routes. This is because its only neighbor is R2, and R2 is no longer running the ISIS IPv6 address-family. This is different from single-topology, where turning off IPv6 broke IPv4 reachability as well.
Let’s turn IPv6 back on, on R2.
#R2
ipv6 unicast-routing
!
int Gi1
ipv6 router isis
!
int Gi2
ipv6 router isis
!
int Gi3
ipv6 router isis
!
int Lo0
ipv6 router isis
!
router isis
address-family ipv6 unicast
multi-topology
Let’s try our attempt to route traffic destined for XR3’s IPv6 loopback address along the path R1-R2-R4-XR3, but keep traffic destined to the IPv4 loopback along the path R1-R2-XR3. To do this, we’ll increase the ipv6 isis cost on Gi3 of R2.
#R2
int Gi3
isis ipv6 metric 30
Success! The IPv4 and IPv6 traffic takes separate routes, because they are using completely separate topologies.
R1#traceroute 3.3.3.3 probe 1
Type escape sequence to abort.
Tracing the route to 3.3.3.3
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.2.2 1 msec
2 10.2.3.3 4 msec
R1#traceroute 2001:db8::3 probe 1
Type escape sequence to abort.
Tracing the route to 2001:DB8::3
1 2001:DB8:1:2::2 3 msec
2 2001:DB8:2:4::4 2 msec
3 2001:DB8::3 7 msec
Comparing ST and MT show commands
Single topology
R1#show isis data R1.00-00 det
IS-IS Level-1 LSP R1.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R1.00-00 * 0x00000056 0x7D70 1178/* 0/0/0
Area Address: 49.0001
NLPID: 0xCC 0x8E
Hostname: R1
Metric: 10 IS-Extended R2.00
IP Address: 1.1.1.1
Metric: 10 IP 1.1.1.1/32
Metric: 10 IP 10.1.2.0/24
IPv6 Address: 2001:DB8::1
Metric: 10 IPv6 2001:DB8::1/128
Metric: 10 IPv6 2001:DB8:1:2::/64
“Topology” is missing, and IPv6 prefixes do not show “(MT-IPv6)”
R1#show isis ip topology
IS-IS TID 0 paths to level-1 routers
System Id Metric Next-Hop Interface SNPA
R1 --
R2 10 R2 Gi1 5254.0015.5c9c
XR3 20 R2 Gi1 5254.0015.5c9c
R4 20 R2 Gi1 5254.0015.5c9c
XR5 30 R2 Gi1 5254.0015.5c9c
R1#show isis ipv6 topology
R1#
There is no separate topology for IPv6. IPv6 is currently working right now, it is just using the IP topology.
R1#show isis protocol
IS-IS Router: <Null Tag> (0x10000)
System Id: 0000.0000.0001.00 IS-Type: level-1
Manual area address(es):
49.0001
Routing for area address(es):
49.0001
Interfaces supported by IS-IS:
Loopback0 - IP - IPv6
GigabitEthernet1 - IP - IPv6
Redistribute:
static (on by default)
Distance for L2 CLNS routes: 110
RRR level: none
Generate narrow metrics: none
Accept narrow metrics: none
Generate wide metrics: level-1-2
Accept wide metrics: level-1-2
RP/0/0/CPU0:XR3#show isis protocol
Tue Aug 2 12:45:37.286 UTC
IS-IS Router: 1
System Id: 0000.0000.0003
Instance Id: 0
IS Levels: level-1
Manual area address(es):
49.0001
Routing for area address(es):
49.0001
Non-stop forwarding: Disabled
Most recent startup mode: Cold Restart
TE connection status: Down
Topologies supported by IS-IS:
IPv4 Unicast
Level-1
Metric style (generate/accept): Wide/Wide
Metric: 10
ISPF status: Disabled
No protocols redistributed
Distance: 115
Advertise Passive Interface Prefixes Only: No
IPv6 Unicast
Level-1
Metric style (generate/accept): Wide/Wide
Metric: 10
ISPF status: Disabled
No protocols redistributed
Distance: 115
Advertise Passive Interface Prefixes Only: No
SRLB allocated: 0 - 0
SRGB not allocated
Interfaces supported by IS-IS:
Loopback0 is running actively (active in configuration)
GigabitEthernet0/0/0/0 is running actively (active in configuration)
GigabitEthernet0/0/0/1 is running actively (active in configuration)
GigabitEthernet0/0/0/2 is running actively (active in configuration)
Oddly, IOS-XR shows two topologies even though it is running ST.
RP/0/0/CPU0:XR3#show isis int gi0/0/0/1 br
Tue Aug 2 12:42:58.657 UTC
IS-IS 1 Interfaces
Interface All Adjs Adj Topos Adv Topos CLNS MTU Prio
OK L1 L2 Run/Cfg Run/Cfg L1 L2
----------------- --- --------- --------- --------- ---- ---- --------
Gi0/0/0/1 Yes 1 - 2/2 2/2 Up 1497 - -
This command is only available in IOS-XR, however in testing it does not indicate whether you are using ST or MT. Both scenarios show the same output.
Multi-topology
R1#show isis data R1.00-00 det
IS-IS Level-1 LSP R1.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R1.00-00 * 0x00000055 0x4EB5 1194/* 0/0/0
Area Address: 49.0001
NLPID: 0xCC 0x8E
IPv4 (0x0)
IPv6 (0x2)
Hostname: R1
Metric: 10 IS-Extended R2.00
Metric: 10 IS (MT-IPv6) R2.00
IP Address: 1.1.1.1
Metric: 10 IP 1.1.1.1/32
Metric: 10 IP 10.1.2.0/24
IPv6 Address: 2001:DB8::1
Metric: 10 IPv6 (MT-IPv6) 2001:DB8::1/128
Metric: 10 IPv6 (MT-IPv6) 2001:DB8:1:2::/64
You see Topology and that IPv6 prefixes use (MT-IPv6). There is also two reachability metrics to neighbors, one for IPv4, and one for IPv6 which says IS (MT-IPv6).
R1#show isis ip topology
IS-IS TID 0 paths to level-1 routers
System Id Metric Next-Hop Interface SNPA
R1 --
R2 10 R2 Gi1 5254.0015.5c9c
R2 Gi1 5254.0015.5c9c
R4 20 R2 Gi1 5254.0015.5c9c
XR5 30 R2 Gi1 5254.0015.5c9c
R1#show isis ipv6 topology
IS-IS TID 2 paths to level-1 routers
System Id Metric Next-Hop Interface SNPA
R1 --
R2 10 R2 Gi1 5254.0015.5c9c
R2 Gi1 5254.0015.5c9c
R4 20 R2 Gi1 5254.0015.5c9c
XR5 40 R2 Gi1 5254.0015.5c9c
In MT, you can have different metrics for IP and IPv4 to a given router. You will not see the IPv6 topology at all on IOS-XE if running ST.
R1#show isis protocol
IS-IS Router: <Null Tag> (0x10000)
System Id: 0000.0000.0001.00 IS-Type: level-1
Manual area address(es):
49.0001
Routing for area address(es):
49.0001
Interfaces supported by IS-IS:
Loopback0 - IP - IPv6
GigabitEthernet1 - IP - IPv6
Redistribute:
static (on by default)
Distance for L2 CLNS routes: 110
RRR level: none
Generate narrow metrics: none
Accept narrow metrics: none
Generate wide metrics: level-1-2
Accept wide metrics: level-1-2
I see no difference compared to ST with this output.
RP/0/0/CPU0:XR3#show isis protocol
Tue Aug 2 12:25:04.390 UTC
IS-IS Router: 1
System Id: 0000.0000.0003
Instance Id: 0
IS Levels: level-1
Manual area address(es):
49.0001
Routing for area address(es):
49.0001
Non-stop forwarding: Disabled
Most recent startup mode: Cold Restart
TE connection status: Down
Topologies supported by IS-IS:
IPv4 Unicast
Level-1
Metric style (generate/accept): Wide/Wide
Metric: 10
ISPF status: Disabled
No protocols redistributed
Distance: 115
Advertise Passive Interface Prefixes Only: No
IPv6 Unicast
Level-1
Metric: 10
ISPF status: Disabled
No protocols redistributed
Distance: 115
Advertise Passive Interface Prefixes Only: No
SRLB allocated: 0 - 0
SRGB not allocated
Interfaces supported by IS-IS:
Loopback0 is running actively (active in configuration)
GigabitEthernet0/0/0/0 is running actively (active in configuration)
GigabitEthernet0/0/0/1 is running actively (active in configuration)
GigabitEthernet0/0/0/2 is running actively (active in configuration)
IOS-XR directly shows the two topologies, however this is the same output as in ST.
RP/0/0/CPU0:XR3#show isis interface gi0/0/0/1 br
Tue Aug 2 12:26:49.553 UTC
IS-IS 1 Interfaces
Interface All Adjs Adj Topos Adv Topos CLNS MTU Prio
OK L1 L2 Run/Cfg Run/Cfg L1 L2
----------------- --- --------- --------- --------- ---- ---- --------
Gi0/0/0/1 Yes 1 - 2/2 2/2 Up 1497 - -
This command is only available in IOS-XR, however in testing it does not indicate whether you are using ST or MT. Both scenarios show the same output.
Conclusion
When you running ISIS for IPv6, you have two options. You can use single topology, which is the default on IOS-XE, in which IPv4 and IPv6 prefixes share the same underlying topology. You can also use multi-topology, the default on IOS-XR, in which IPv4 and IPv6 each have their own separate topology.
Remember that the underlying ISIS topology is not built on IPv4 addresses as in OSPFv2. The topology is simply a map of routers and the links between them. Separate TLVs are used to advertise IPv4 and IPv6 prefixes that are reachable by routers.
The benefits of single topology are that only a single SPF run is needed when calculating best paths for IPv4 and IPv6 prefixes, since both prefixes reside on the same topology.
The benefits of multi-topology are that you can steer IPv4 and IPv6 traffic along different paths by using IPv4 metrics and IPv6 metrics. Each metric only affects the respective topology. The other benefit is that you can gracefully migrate from IPv4 to IPv6-only. With single topology, if you turn off IPv6, it completely breaks the adjacency. However, with multi-topology, you can safely turn off IPv6 on a router and continue to have IPv4 reachability. Remember that when using multi-topology, you must use wide-metrics for the IPv6 address-family.