Community discussions

MikroTik App
 
StaticMe
just joined
Topic Author
Posts: 1
Joined: Thu Oct 12, 2023 5:19 pm

Adjacency and Redistribution Problems with OSPFv3 in NSSA Areas

Fri Oct 13, 2023 3:56 pm

Hello to all,

after trying, testing, googling, and wiresharking (to no avail) I finally decided to write this post in the hopes of a helping hand from someone in the community.

I've built a testlab with OSPF in GNS3, using MikroTiks CHR 7.11.2 (stable). Only small problems with IPv4 (again with NSSA) which I could work around, maybe I'll post , what to me looks like a bug, in another post.
Different story with OSPFv3 though. In the following picture, you can see the topology I crafted:
overview_gns3.png
In the problem scenario, Area 1 is configured as NSSA Area, which is supposed to get RIP Routes from RipRouter2 over the 2001:beef:dead::/64 net, which are then to be redistributed into OSPF via R2.

Here are the configs which I am working with:

R1 (ABR)
# 2023-10-13 12:46:51 by RouterOS 7.11.2
# software id =
#
/interface bridge
add name=Loopback1
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
set [ find default-name=ether6 ] disable-running-check=no
set [ find default-name=ether7 ] disable-running-check=no
set [ find default-name=ether8 ] disable-running-check=no
/disk
set slot1 slot=slot1 type=hardware
set slot2 slot=slot2 type=hardware
set slot3 slot=slot3 type=hardware
set slot4 slot=slot4 type=hardware
set slot5 slot=slot5 type=hardware
set slot6 slot=slot6 type=hardware
set slot7 slot=slot7 type=hardware
set slot8 slot=slot8 type=hardware
set slot9 slot=slot9 type=hardware
set slot10 slot=slot10 type=hardware
set slot11 slot=slot11 type=hardware
set slot12 slot=slot12 type=hardware
set slot13 slot=slot13 type=hardware
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/routing ospf instance
add disabled=no name=ospf_inst router-id=1.1.1.1 version=3
/routing ospf area
add disabled=no instance=ospf_inst name=Backbone
add area-id=1.1.1.1 default-cost=10 disabled=no instance=ospf_inst name=Area1 nssa-translator=yes type=nssa
/ip dhcp-client
add interface=ether1
/ipv6 address
add address=2001:172:1616:11::1 interface=ether1
add address=2001:172:1616:22::1 interface=ether2
add address=2001:10:1:1111::1 interface=ether3
add address=2001:172:1616:10::101/128 advertise=no interface=Loopback1
/routing ospf area range
add area=Area1 disabled=no prefix=2001:172:1616::/48
/routing ospf interface-template
add area=Backbone disabled=no interfaces=ether3
add area=Area1 disabled=no interfaces=ether1,ether2
/system note
set show-at-login=no
R2 (ASBR)
[admin@MikroTik] > export compact
# 2023-10-13 12:46:25 by RouterOS 7.11.2
# software id =
#
/interface bridge
add name=Loopback1
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
set [ find default-name=ether6 ] disable-running-check=no
set [ find default-name=ether7 ] disable-running-check=no
set [ find default-name=ether8 ] disable-running-check=no
/disk
set slot1 slot=slot1 type=hardware
set slot2 slot=slot2 type=hardware
set slot3 slot=slot3 type=hardware
set slot4 slot=slot4 type=hardware
set slot5 slot=slot5 type=hardware
set slot6 slot=slot6 type=hardware
set slot7 slot=slot7 type=hardware
set slot8 slot=slot8 type=hardware
set slot9 slot=slot9 type=hardware
set slot10 slot=slot10 type=hardware
set slot11 slot=slot11 type=hardware
set slot12 slot=slot12 type=hardware
set slot13 slot=slot13 type=hardware
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/routing ospf instance
add disabled=no name=ospf_inst redistribute=rip router-id=2.2.2.2 version=3
/routing ospf area
add area-id=1.1.1.1 disabled=no instance=ospf_inst name=Area1 nssa-translator=no type=nssa
/routing rip instance
add afi=ipv6 disabled=yes name=rip_inst redistribute=connected,ospf
/ip dhcp-client
add interface=ether1
/ipv6 address
add address=2001:172:1616:11::2 interface=ether1
add address=2001:172:1616:33::2 interface=ether2
add address=2001:beef:dead::2 interface=ether3
add address=2001:172:1616:10::102/128 advertise=no interface=Loopback1
/routing ospf interface-template
add area=Area1 disabled=no interfaces=ether1,ether2
/routing rip interface-template
add instance=rip_inst interfaces=ether3
/system note
set show-at-login=no
R3 (just an area router)
# 2023-10-13 12:47:19 by RouterOS 7.11.2
# software id =
#
/interface bridge
add name=Loopback1
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
set [ find default-name=ether6 ] disable-running-check=no
set [ find default-name=ether7 ] disable-running-check=no
set [ find default-name=ether8 ] disable-running-check=no
/disk
set slot1 slot=slot1 type=hardware
set slot2 slot=slot2 type=hardware
set slot3 slot=slot3 type=hardware
set slot4 slot=slot4 type=hardware
set slot5 slot=slot5 type=hardware
set slot6 slot=slot6 type=hardware
set slot7 slot=slot7 type=hardware
set slot8 slot=slot8 type=hardware
set slot9 slot=slot9 type=hardware
set slot10 slot=slot10 type=hardware
set slot11 slot=slot11 type=hardware
set slot12 slot=slot12 type=hardware
set slot13 slot=slot13 type=hardware
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/routing ospf instance
add disabled=no name=ospf_inst router-id=3.3.3.3 version=3
/routing ospf area
add area-id=1.1.1.1 disabled=no instance=ospf_inst name=Area1 nssa-translator=candidate type=nssa
/ip dhcp-client
add interface=ether1
/ipv6 address
add address=2001:172:1616:22::3 interface=ether1
add address=2001:172:1616:33::3 interface=ether2
add address=2001:172:1616:10::103/128 advertise=no interface=Loopback1
/routing ospf interface-template
add area=Area1 disabled=no interfaces=ether1,ether2
/system note
set show-at-login=no

The overarching problem is, that the LSA Type 7 routes are not saved in the OSPFv3 database and hence are not used to calculate routes. Therefore RipNet2 is not available to any router except R2.
Additionally, there are different levels to this problem:

1. If I leave the area as "type=default" everything works, external routes get distributed, and I just lose the benefit of an NSSA.
2. If I change the area to an NSSA (while the adjacencies are up), R1-R3 form new adjacencies (normal behaviour), receive the LSA Type 7 messages but don't put them into the database/calculate routes (except R2). Furthermore, the LSA Type 7 packets are not translated into Type 5 by R1, so BBR100/R4/all other Routers, don't learn about the external routes to RipNet2.
3. If I now restart the routers, adjacency to R2 can't be established at all, with the following errors logged by
- R1/R3 (sequence mismatch)
- R2 (bad lsreq)

I am at the end of my wits here. Can anybody help me figure this out?

Thanks in advance!
You do not have the required permissions to view the files attached to this post.
 
User avatar
antosusan
just joined
Posts: 11
Joined: Mon Apr 03, 2023 7:37 am
Location: Indonesia

Re: Adjacency and Redistribution Problems with OSPFv3 in NSSA Areas

Fri Oct 27, 2023 6:43 am

hello
do you have try on R2 type nssa and translator role = translate always?

Who is online

Users browsing this forum: No registered users and 4 guests