Community discussions

MikroTik App
 
User avatar
jprietove
Trainer
Trainer
Topic Author
Posts: 212
Joined: Fri Jun 03, 2016 3:00 pm
Location: Cádiz, Spain
Contact:

BUG: OSPFv3 stub area Intra-Area-Router doesn't get default route

Fri Mar 01, 2024 6:15 pm

This behaviour happens in RouterOS v7.13 and also in the new v7.14. Tested on CHR images, this report is based on v7.14

In a simple scenario with R1 as ABR, I have this configuration:
/routing ospf instance
add disabled=no name=ospf3 version=3
/routing ospf area
add disabled=no instance=ospf3 name=backbone
add area-id=0.0.0.1 default-cost=1 disabled=no instance=ospf3 name=area1 no-summaries type=stub
/ip address
add address=10.255.255.1 interface=lo network=10.255.255.1
/routing ospf interface-template
add area=area1 disabled=no interfaces=ether2 type=ptp
add area=area1 disabled=no interfaces=ether3 type=ptp
add area=backbone disabled=no interfaces=ether1 type=ptp
Now I configure R2 as Intra-area Router, connecting R2(ether1) to R1(ether2):
/routing ospf instance
add disabled=no name=ospf3 version=3
/routing ospf area
add area-id=0.0.0.1 disabled=no instance=ospf3 name=area1 type=stub
/ip address
add address=10.255.255.2 interface=lo network=10.255.255.2
/routing ospf interface-template
add area=area1 disabled=no interfaces=ether1 type=ptp
After a while, adjacency is established:
[admin@R2] > routing/ospf/neighbor/print 
Flags: V - virtual; D - dynamic 
 0  D instance=ospf3 area=area1 address=fe80::efc:efff:feef:1%ether1 router-id=10.255.255.1 state="Full" state-changes=5 
      adjacency=9m40s timeout=40s 
[admin@R2] > ipv6/route/print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, o - OSPF
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS       GATEWAY                       DISTANCE
DAo ::/0              fe80::efc:efff:feef:1%ether1       110
DAc ::1/128           lo                                   0
DAc fe80::%ether1/64  ether1                               0
Now, I configure another Intra-area Router (R3), connecting R3(ether1) to R1(ether3):
/routing ospf area
add area-id=0.0.0.1 instance=ospf3 name=area1 type=stub
/ip address
add address=10.255.255.3 interface=lo network=10.255.255.3
/routing ospf interface-template
add area=area1 disabled=no interfaces=ether1 type=ptp
Adjacency is established, and routing table is correct:
[admin@R3] > routing/ospf/neighbor/print 
Flags: V - virtual; D - dynamic 
 0  D instance=ospf3 area=area1 address=fe80::efc:efff:feef:2%ether1 router-id=10.255.255.1 state="Full" state-changes=5 
      adjacency=1s timeout=39s 
[admin@R3] > ipv6/route/print              
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, o - OSPF
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS       GATEWAY                       DISTANCE
DAo ::/0              fe80::efc:efff:feef:2%ether1       110
DAc ::1/128           lo                                   0
DAc fe80::%ether1/64  ether1                               0
But after several seconds, routing table doesn't show default route:
[admin@R3] > ipv6/route/print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS       GATEWAY  DISTANCE
DAc ::1/128           lo              0
DAc fe80::%ether1/64  ether1          0
And R2 also have lost its default route:
[admin@R2] > ipv6/route/print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS       GATEWAY  DISTANCE
DAc ::1/128           lo              0
DAc fe80::%ether1/64  ether1          0
If OSPF is disabled either in R3, default route appears again in R2. When R3 ospf instance is disabled, these are the LSAs seen at R2:
[admin@R2] > ipv6/route/print       
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, o - OSPF
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS       GATEWAY                       DISTANCE
DAo ::/0              fe80::efc:efff:feef:1%ether1       110
DAc ::1/128           lo                                   0
DAc fe80::%ether1/64  ether1                               0
[admin@R2] > routing/ospf/lsa/print 
Flags: S - self-originated, F - flushing, W - wraparound; D - dynamic 
 0  D instance=ospf3 area=area1 type="router" originator=10.255.255.1 id=0.0.0.0 sequence=0x80000003 age=65 checksum=0xFC09 
      body=
        options=V6|R bits=B
            type=p2p iface-id=1 neighbor-iface-if=1 neighbor-router-id=10.255.255.2 metric=1

 1 SD instance=ospf3 area=area1 type="router" originator=10.255.255.2 id=0.0.0.0 sequence=0x80000001 age=143 checksum=0xE127 
      body=
        options=V6|R
            type=p2p iface-id=1 neighbor-iface-if=1 neighbor-router-id=10.255.255.1 metric=1

 2  D instance=ospf3 area=area1 type="inter-area-prefix" originator=10.255.255.1 id=0.0.0.2 sequence=0x80000001 age=64 
      checksum=0x39F7 body=
        prefix=::/0
        metric=1

 3  D instance=ospf3 area=area1 link=ether1 type="link" originator=10.255.255.1 id=0.0.0.1 sequence=0x80000001 age=153 
      checksum=0x3111 body=
        options=V6|R
        address=fe80::efc:efff:feef:1
        priority=128
        prefixes=

 4 SD instance=ospf3 area=area1 link=ether1 type="link" originator=10.255.255.2 id=0.0.0.1 sequence=0x80000001 age=153 
      checksum=0x22EC body=
        options=V6|R
        address=fe80::e98:c6ff:feb0:0
        priority=128
        prefixes=
When R3 ospf instance is enabled again, and default route disappears, these are the LSAs at R2:
[admin@R2] > ipv6/route/print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS       GATEWAY  DISTANCE
DAc ::1/128           lo              0
DAc fe80::%ether1/64  ether1          0
[admin@R2] > routing/ospf/lsa/print 
Flags: S - self-originated, F - flushing, W - wraparound; D - dynamic 
 0  D instance=ospf3 area=area1 type="router" originator=10.255.255.1 id=0.0.0.0 sequence=0x80000004 age=8 checksum=0x9E43 
      body=
        options=V6|R bits=B
            type=p2p iface-id=1 neighbor-iface-if=1 neighbor-router-id=10.255.255.2 metric=1
            type=p2p iface-id=2 neighbor-iface-if=2 neighbor-router-id=10.255.255.3 metric=1

 1 SD instance=ospf3 area=area1 type="router" originator=10.255.255.2 id=0.0.0.0 sequence=0x80000001 age=222 checksum=0xE127 
      body=
        options=V6|R
            type=p2p iface-id=1 neighbor-iface-if=1 neighbor-router-id=10.255.255.1 metric=1

 2  D instance=ospf3 area=area1 type="router" originator=10.255.255.3 id=0.0.0.0 sequence=0x80000001 age=9 checksum=0xFB0A 
      body=
        options=V6|R
            type=p2p iface-id=2 neighbor-iface-if=2 neighbor-router-id=10.255.255.1 metric=1

 3  D instance=ospf3 area=area1 link=ether1 type="link" originator=10.255.255.1 id=0.0.0.1 sequence=0x80000001 age=233 
      checksum=0x3111 body=
        options=V6|R
        address=fe80::efc:efff:feef:1
        priority=128
        prefixes=

 4 SD instance=ospf3 area=area1 link=ether1 type="link" originator=10.255.255.2 id=0.0.0.1 sequence=0x80000001 age=232 
      checksum=0x22EC body=
        options=V6|R
        address=fe80::e98:c6ff:feb0:0
        priority=128
        prefixes=

As it can be seen, when only R2 ospf instance is enabled, this LSA can be seen, that doesn't show when R3 ospf instance is also enabled:
 2  D instance=ospf3 area=area1 type="inter-area-prefix" originator=10.255.255.1 id=0.0.0.2 sequence=0x80000001 age=64 
      checksum=0x39F7 body=
        prefix=::/0
        metric=1
So this seems to be a BUG in OSPF stub area implementation.
 
User avatar
Larsa
Forum Guru
Forum Guru
Posts: 1068
Joined: Sat Aug 29, 2015 7:40 pm
Location: The North Pole, Santa's Workshop

Re: BUG: OSPFv3 stub area Intra-Area-Router doesn't get default route

Fri Mar 01, 2024 6:35 pm

We are working on a similar case but we need to verify that it's not caused by a misconfiguration due to some old static routes or an actual bug. Please feel free to report back any feedback from Mikrotik.

Who is online

Users browsing this forum: Google [Bot] and 5 guests