[FROG] Link two OSPF processes in different VRFs on the same router

Sergey Popov pinkbyte at gentoo.org
Wed Mar 11 04:41:14 EDT 2020


Hi to all.

I am trying to replicate topology from our enterprise router with
FRRouting and for now i am stuck!

Here is my setup:

rtest1 ~ # cat /etc/frr/daemons
zebra=yes
ospfd=yes
ospfd_instances=37,125
staticd=yes

vtysh_enable=yes
zebra_options="-n -s 90000000 --daemon -A 127.0.0.1"
ospfd_options="  --daemon -A 127.0.0.1"
staticd_options="  --daemon -A 127.0.0.1"

rtest1 ~ # ip netns show
TEST1 (id: 1)

rtest1 ~ # ip addr show dev ve1a
14: ve1a at if13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
state UP group default qlen 1000
    link/ether 5a:01:92:9a:6a:83 brd ff:ff:ff:ff:ff:ff link-netns TEST1
    inet 10.0.0.1/30 brd 10.0.0.3 scope global ve1a
       valid_lft forever preferred_lft forever
    inet6 fe80::5801:92ff:fe9a:6a83/64 scope link
       valid_lft forever preferred_lft forever
rtest1 ~ # ip -n TEST1 addr show dev ve1b
13: ve1b at if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
state UP group default qlen 1000
    link/ether 82:72:fd:bf:5f:4d brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.0.2/30 brd 10.0.0.3 scope global ve1b
       valid_lft forever preferred_lft forever
    inet6 fe80::8072:fdff:febf:5f4d/64 scope link
       valid_lft forever preferred_lft forever

rtest1# show running-config
Building configuration...

Current configuration:
!
frr version 7.4-dev-gentoo
frr defaults traditional
hostname rtest1
no ip forwarding
no ipv6 forwarding
service integrated-vtysh-config
!
ip route 12.0.0.0/24 blackhole
!
vrf TEST1
 ip route 0.0.0.0/0 10.0.0.1
 netns /run/netns/TEST1
 exit-vrf
!
interface ve1a
 ip address 10.0.0.1/30
 ip ospf 37 area 0
!
interface ve1b vrf TEST1
 ip address 10.0.0.2/30
 ip ospf 125 area 0
!
router ospf
!
router ospf 125 vrf TEST1
 ospf router-id 10.0.0.2
 ospf router-id 10.0.0.2
 ospf router-id 10.0.0.2
!
router ospf 37
 ospf router-id 10.0.0.1
 redistribute static
!
line vty
!
end
rtest1# show ip ospf 37 neighbor

OSPF Instance: 37


Neighbor ID     Pri State           Dead Time Address         Interface
                       RXmtL RqstL DBsmL
10.0.0.2          1 Loading/DR        39.996s 10.0.0.2
ve1a:10.0.0.1                        1     1     0

rtest1# show ip ospf 125 neighbor

OSPF Instance: 125


Neighbor ID     Pri State           Dead Time Address         Interface
                       RXmtL RqstL DBsmL
10.0.0.1          1 ExStart/Backup    36.642s 10.0.0.1
ve1b:10.0.0.2                        0     0     0


OSPF Instance: 125


Neighbor ID     Pri State           Dead Time Address         Interface
                       RXmtL RqstL DBsmL
10.0.0.1          1 Loading/Backup    36.637s 10.0.0.1
ve1b:10.0.0.2                        1     1     0

rtest1# exit

rtest1 ~ # ping 10.0.0.2 -c 1
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.073 ms

--- 10.0.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.073/0.073/0.073/0.000 ms

rtest1 ~ # ip netns exec TEST1 ping 10.0.0.1 -c 1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.089 ms

--- 10.0.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.089/0.089/0.089/0.000 ms

rtest1 ~ # ps aux | grep quagga
quagga    3530  0.0  0.0 387400  6652 ?        Ssl  11:24   0:00
/usr/sbin/zebra -d -F traditional -n -s 90000000 --daemon -A 127.0.0.1
quagga    3535  0.0  0.0   9772  6256 ?        Ss   11:24   0:00
/usr/sbin/ospfd -d -F traditional --daemon -A 127.0.0.1
quagga    3539  0.1  0.0   9796  6176 ?        Ss   11:24   0:00
/usr/sbin/ospfd -d -F traditional -n 37 --daemon -A 127.0.0.1
quagga    3545  0.0  0.0   9796  6192 ?        Ss   11:24   0:00
/usr/sbin/ospfd -d -F traditional -n 125 --daemon -A 127.0.0.1
quagga    3553  0.0  0.0   8088  3700 ?        Ss   11:24   0:00
/usr/sbin/staticd -d -F traditional --daemon -A 127.0.0.1
root      8166  0.0  0.0   7560   860 pts/0    S+   11:31   0:00 grep
--colour=auto quagga

rtest1 ~ # /usr/sbin/frrinit.sh status
Status of watchfrr: running
Status of zebra: running
Status of ospfd: running
Status of ospfd-37: running
Status of ospfd-125: running
Status of staticd: running

-----------------------------------------------------------------------------------------------

FRRouting is installed on Gentoo Linux and started via /usr/sbin/frrinit.sh.
I tried 7.1-r1 from frr-gentoo overlay, 7.3 and 9999 ebuilds - no luck

And it stucks in that state permanently, switching from Loading to
ExStart and repeating this again.

So, two thoughts:

1) Is this intended behaviour? It should be no problem to link two
distinct ospf processes(like on Cisco ASR with VASI interfaces) or am i
wrong?

2) Duplicating of 'ospf router-id 10.0.0.2' also bothers me. Is that a
cosmetic bug or something more serious?

show ip ospf <process_num> looks ok(router-id option applied
successfully), but still...

Output for 'show ip ospf 125 interface' is also duplicated(while output
of 'show ip ospf 37 interface' is perfectly fine.

-- 
Best regards, Sergey Popov
Gentoo developer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.frrouting.org/pipermail/frog/attachments/20200311/5c220597/attachment.sig>


More information about the frog mailing list