Ospf abr Init/DROther

vyos 1.3.7 with frr 7.5.1-20240509 area 0.0.0.0 eth3.2004

vyos 1.3.7 area 0.0.0.48 eth6 [10.20.245.9/29]

openwrt 23.05.3 with frr 8.5.1 area 0.0.0.48 eth2 [10.20.245.10/29]

vyos sending.. never receiving..

tcpdump -i eth6 -n -v proto ospf

13:13:01.650476 IP (tos 0xc0, ttl 1, id 28129, offset 0, flags [none], proto OSPF (89), length 64)
    10.20.245.9 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 48.224.5.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.9
13:13:11.651132 IP (tos 0xc0, ttl 1, id 28131, offset 0, flags [none], proto OSPF (89), length 64)
    10.20.245.9 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 48.224.5.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.9
13:13:21.651923 IP (tos 0xc0, ttl 1, id 28133, offset 0, flags [none], proto OSPF (89), length 64)
    10.20.245.9 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 48.224.5.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.9

openwrt

tcpdump -i eth2 -n -v proto ospf

13:14:00.507524 IP (tos 0xc0, ttl 1, id 21824, offset 0, flags [none], proto OSPF (89), length 68)
    10.20.245.10 > 224.0.0.5: OSPFv2, Hello, length 48
        Router-ID 48.224.56.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.10
          Neighbor List:
            48.224.5.48
13:14:01.652581 IP (tos 0xc0, ttl 1, id 28142, offset 0, flags [none], proto OSPF (89), length 64)
    10.20.245.9 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 48.224.5.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.9
13:14:10.507537 IP (tos 0xc0, ttl 1, id 21825, offset 0, flags [none], proto OSPF (89), length 68)
    10.20.245.10 > 224.0.0.5: OSPFv2, Hello, length 48
        Router-ID 48.224.56.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.10
          Neighbor List:
            48.224.5.48
13:14:11.652844 IP (tos 0xc0, ttl 1, id 28144, offset 0, flags [none], proto OSPF (89), length 64)
    10.20.245.9 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 48.224.5.48, Area 0.0.0.48, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.248, Priority 1
          Designated Router 10.20.245.9
-OpenWrt:~# vtysh

Hello, this is FRRouting (version 8.5.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

OpenWrt# show ip ospf neighbor

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
48.224.5.48       1 Init/DROther    15h54m21s         34.792s 10.20.245.9     eth2:10.20.245.10                    0     0     0

timers same, mask same, mtu same.. vyos trying to establish.. openwrt receiving but not responding..

vyos:

ip neigh | grep eth6
10.20.245.10 dev eth6 lladdr 64:62:66:22:01:b1 REACHABLE

openwrt:

 ip neigh | grep eth2
10.20.245.9 dev eth2 lladdr 90:ec:77:29:04:f6 ref 1 used 0/0/0 probes 6 REACHABLE

openwrt frr.conf:

 cat /etc/frr/frr.conf

frr defaults traditional
agentx
hostname openwrt
log syslog
!
access-list vty permit 127.0.0.0/8
access-list vty deny any
!
line vty
 access-class vty

!interface eth2
!  ip ospf area 0.0.0.48
!  ip ospf network broadcast
! tried point-to-point as well.. made no difference

router ospf
 ospf router-id 48.224.56.48
 log-adjacency-changes detail
 passive-interface default
 no passive-interface eth2
 network 10.20.245.8/29 area 0.0.0.48

vyos frr.conf:

frr version 7.5.1-20240509-02-gc9dd2977e
frr defaults traditional
hostname debian
log syslog
log facility local7
agentx
hostname router-vyos
service integrated-vtysh-config
!
ip route 0.0.0.0/0 10.20.250.17
ip route 0.0.0.0/0 10.20.245.10 table 10
!
router ospf
 ospf router-id 48.224.5.48
 log-adjacency-changes detail
 passive-interface default
 no passive-interface eth3.2004
 no passive-interface eth6
 network 15-networks-here area 0.0.0.0
 network 10.20.245.8/29 area 0.0.0.48

!
line vty
!

also vyos:

 ip route | grep -c ospf
106

openwrt:

 ip route | grep -c ospf
0

all the vyos routes are area 0.0.0.0

can give more/other vtysh output.. but I think the tcpdump gives it all..

(but if I had the answers; I wouldn't be asking for help - so please ask for something that you think I missed.. )

I thought I had a zebra problem but the adjacency was never fully formed..

Thank you in advance.

.. and we're good

~$ show ip ospf neighbor

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
254.224.5.254     1 Full/DR         1d04h55m          38.958s 10.20.250.17    eth3.2004:10.20.250.18               0     0     0
48.224.56.48      1 Full/DR         1d04h56m          35.290s 10.20.245.10    eth6:10.20.245.9                     0     0     0

updated vyos to 1.4.0 LTS..

 uname -a
Linux xyz123-router-vyos 6.6.32-amd64-vyos #1 SMP PREEMPT_DYNAMIC Tue May 28 20:26:36 UTC 2024 x86_64 GNU/Linux

Hello, this is FRRouting (version 9.1).

Ospf with broadcast can take same time for discovery and voting and calculations and bla.
If you know you use only p2p interfaces then either configure the link as p2p and/or set it explicit in the config.

Anyhow, I still have say that bird2 is the better and more modern option for dynamic routing on Linux :sweat_smile:

Edit: btw have a look at ip route show proto ...