ISIS is not working on a IPv6 only environment (or, in general, in dual topology) where other devices are running plain frr.
i.e., given this configuration:
interfaces {
dummy dum0 {
address 2001:db8:1:1::1/64
}
ethernet eth1 {
address 2001:db8:3::1/64
description "dut -> x1"
mtu 1500
}
ethernet eth2 {
address 2001:db8:3:1::1/64
description "dut -> x2"
mtu 1500
}
}
protocols {
isis {
dynamic-hostname
interface dum0 {
}
interface eth1 {
network {
point-to-point
}
}
interface eth2 {
network {
point-to-point
}
}
level level-2
net 49.0001.0bad.cafe.0001.00
}
}example other frr config:
hostname x1 service integrated-vtysh-config ! interface eth1 description x1 -> dut ipv6 address 2001:db8:3::2/64 ipv6 nd ra-interval 5 ipv6 router isis Gandalf isis network point-to-point no ipv6 nd suppress-ra exit ! interface lo ipv6 address 2001:db8:1:2::1/64 ipv6 router isis Gandalf exit ! router isis Gandalf is-type level-2-only net 49.0042.0000.0000.0002.00 lsp-timers gen-interval 1 refresh-interval 900 max-lifetime 1800 topology ipv6-unicast log-adjacency-changes exit
no routes are announced:
vyos@dut:~$ sh ipv6 route
Codes: K - kernel route, C - connected, S - static, R - RIPng,
O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
C>* 2001:db8:1:1::/64 is directly connected, dum0, 00:01:21
C>* 2001:db8:3::/64 is directly connected, eth1, 00:01:20
C>* 2001:db8:3:1::/64 is directly connected, eth2, 00:01:19
C * fe80::/64 is directly connected, eth2, 00:01:20
C * fe80::/64 is directly connected, dum0, 00:01:21
C>* fe80::/64 is directly connected, lo, 00:01:31
C * fe80::/64 is directly connected, eth1, 00:01:43
C * fe80::/64 is directly connected, eth0, 00:01:43It seems there's a missing config on FRR's isisd:
If I manually add:
dut# configure dut(config)# router isis VyOS dut(config-router)# topology ipv6-unicast
then everything starts working:
vyos@dut:~$ sh ipv6 route
Codes: K - kernel route, C - connected, S - static, R - RIPng,
O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
C>* 2001:db8:1:1::/64 is directly connected, dum0, 00:02:57
I>* 2001:db8:1:2::/64 [115/20] via fe80::a8c1:abff:fe77:5770, eth1, weight 1, 00:00:16
I>* 2001:db8:1:3::/64 [115/20] via fe80::a8c1:abff:fe0d:c90f, eth2, weight 1, 00:00:16
C>* 2001:db8:3::/64 is directly connected, eth1, 00:02:56
C>* 2001:db8:3:1::/64 is directly connected, eth2, 00:02:55
C * fe80::/64 is directly connected, eth2, 00:02:56
C * fe80::/64 is directly connected, dum0, 00:02:57
C>* fe80::/64 is directly connected, lo, 00:03:07
C * fe80::/64 is directly connected, eth1, 00:03:19
C * fe80::/64 is directly connected, eth0, 00:03:19