OSPFv3 NSSA redistristributed routes

Good evening,
I was doing some test with OSPFv3 / IPv6…

If i create a NSSA , the ABR see the redistributed routes as local connected… and those routes become unreachable, because instead to send packets to via address it try Neighbor solicitation.

If I convert NSSA to a normal area, the same redistributed routes get correct via and all routes become reachable.

vyos@R2bis:~$ sh ipv6 route 
Codes: K - kernel route, C - connected, L - local, 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, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

O>* ::/0 [110/1] via fe80::ea1:f9ff:fe0c:1, eth0, weight 1, 00:13:43
O   2001:db8:f:fffd::/64 [110/1] is directly connected, eth3, weight 1, 00:13:43
C>* 2001:db8:f:fffd::/64 is directly connected, eth3, weight 1, 04:04:40
K * 2001:db8:f:fffd::/64 [0/256] is directly connected, eth3, weight 1, 04:04:42
L>* 2001:db8:f:fffd::193/128 is directly connected, eth3, weight 1, 04:04:40
O   2001:db8:f:fffe::/64 [110/1] is directly connected, eth0, weight 1, 04:03:33
C>* 2001:db8:f:fffe::/64 is directly connected, eth0, weight 1, 04:04:41
K * 2001:db8:f:fffe::/64 [0/256] is directly connected, eth0, weight 1, 04:04:42
L>* 2001:db8:f:fffe::190/128 is directly connected, eth0, weight 1, 04:04:41
O>* 2001:db8:1000::/56 [110/20] is directly connected, eth3, weight 1, 00:13:43
O>* 2001:db8:1000::/64 [110/20] is directly connected, eth3, weight 1, 00:13:43
O>* 2001:db8:1000:1::/64 [110/20] is directly connected, eth3, weight 1, 00:13:43
O>* 2001:db8:2000::/48 [110/20] is directly connected, eth3, weight 1, 00:13:43
O>* 2001:db8:2000::/56 [110/20] is directly connected, eth3, weight 1, 00:13:43
C * fe80::/64 is directly connected, eth3, weight 1, 04:04:40
vyos@R2bis:~$ ip -6 route
2001:db8:f:fffd::/64 dev eth3 proto kernel metric 256 pref medium
2001:db8:f:fffe::/64 dev eth0 proto kernel metric 256 pref medium
2001:db8:1000::/64 nhid 12 dev eth3 proto ospf metric 20 pref medium
2001:db8:1000:1::/64 nhid 12 dev eth3 proto ospf metric 20 pref medium
2001:db8:1000::/56 nhid 12 dev eth3 proto ospf metric 20 pref medium
2001:db8:2000::/56 nhid 12 dev eth3 proto ospf metric 20 pref medium
2001:db8:2000::/48 nhid 12 dev eth3 proto ospf metric 20 pref medium
fe80::/64 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth3 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 dead linkdown pref medium
default nhid 42 via fe80::ea1:f9ff:fe0c:1 dev eth0 proto ospf metric 20 pref medium

vyos@R2bis:~$ 
vyos@R2bis:~$ sh conf commands | grep ospfv3
set protocols ospfv3 area 0.0.0.0
set protocols ospfv3 area 0.0.0.10 area-type nssa
set protocols ospfv3 interface eth0 area '0.0.0.0'
set protocols ospfv3 interface eth3 area '0.0.0.10'
set protocols ospfv3 parameters router-id '10.255.255.2'
vyos@R2bis:~$ 

After removing nssa from area-type “RIB” become correct… I double checked VYOS CLI and VTYSH, because in some condition when i add and remove area-type vtysh -e “show run” is not updated.

vyos@R2bis:~$ sh ipv6 route 
Codes: K - kernel route, C - connected, L - local, 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, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

O>* ::/0 [110/1] via fe80::ea1:f9ff:fe0c:1, eth0, weight 1, 00:00:09
O   2001:db8:f:fffd::/64 [110/1] is directly connected, eth3, weight 1, 00:00:09
C>* 2001:db8:f:fffd::/64 is directly connected, eth3, weight 1, 04:15:48
K * 2001:db8:f:fffd::/64 [0/256] is directly connected, eth3, weight 1, 04:15:50
L>* 2001:db8:f:fffd::193/128 is directly connected, eth3, weight 1, 04:15:48
O   2001:db8:f:fffe::/64 [110/1] is directly connected, eth0, weight 1, 04:14:41
C>* 2001:db8:f:fffe::/64 is directly connected, eth0, weight 1, 04:15:49
K * 2001:db8:f:fffe::/64 [0/256] is directly connected, eth0, weight 1, 04:15:50
L>* 2001:db8:f:fffe::190/128 is directly connected, eth0, weight 1, 04:15:49
O>* 2001:db8:1000::/56 [110/20] via fe80::e2c:6bff:fe23:0, eth3, weight 1, 00:00:09
O>* 2001:db8:1000::/64 [110/20] via fe80::e2c:6bff:fe23:0, eth3, weight 1, 00:00:09
O>* 2001:db8:1000:1::/64 [110/20] via fe80::e2c:6bff:fe23:0, eth3, weight 1, 00:00:09
:09
O>* 2001:db8:2000::/56 [110/20] via fe80::e2c:6bff:fe23:0, eth3, weight 1, 00:00:09
C * fe80::/64 is directly connected, eth3, weight 1, 04:15:48
C * fe80::/64 is directly connected, eth0, weight 1, 04:15:49
C * fe80::/64 is directly connected, eth1, weight 1, 04:15:50
C>* fe80::/64 is directly connected, lo, weight 1, 04:15:51
vyos@R2bis:~$ ip -6 route
2001:db8:f:fffd::/64 dev eth3 proto kernel metric 256 pref medium
2001:db8:f:fffe::/64 dev eth0 proto kernel metric 256 pref medium
2001:db8:1000::/64 nhid 86 via fe80::e2c:6bff:fe23:0 dev eth3 proto ospf metric 20 pref medium
2001:db8:1000:1::/64 nhid 86 via fe80::e2c:6bff:fe23:0 dev eth3 proto ospf metric 20 pref medium
2001:db8:1000::/56 nhid 86 via fe80::e2c:6bff:fe23:0 dev eth3 proto ospf metric 20 pref medium
2001:db8:2000::/56 nhid 86 via fe80::e2c:6bff:fe23:0 dev eth3 proto ospf metric 20 pref medium
2001:db8:2000::/48 nhid 86 via fe80::e2c:6bff:fe23:0 dev eth3 proto ospf metric 20 pref medium
fe80::/64 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth3 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 dead linkdown pref medium
default nhid 42 via fe80::ea1:f9ff:fe0c:1 dev eth0 proto ospf metric 20 pref medium

I tried with rolling and stream, with same results… did someone had same issue?

Thanks :slight_smile: