Page MenuHomeVyOS Platform

OSPF routing problem - route looping
Closed, ResolvedPublicBUG

Description

If on two routers with the redistribution of static routes enabled, create the same routes and then delete them, the route will loop.

сonfiguration router 1 (vyos1):

interfaces {
    ethernet eth0 {
        address 192.168.0.1/24
    }
    loopback lo {
    }
}
protocols {
    ospf {
        area 0 {
            network 192.168.0.0/24
        }
        redistribute {
            static {
            }
        }
    }
}
service {
    ssh {

сonfiguration router 2 (vyos2):

interfaces {
    ethernet eth0 {
        address 192.168.0.2/24
    }
    loopback lo {
    }
}
protocols {
    ospf {
        area 0 {
            network 192.168.0.0/24
        }
        redistribute {
            static {
            }
        }
    }
}
service {
    ssh {
[email protected]:~$ show ip ospf neighbor 

Neighbor ID     Pri State           Dead Time Address         Interface            RXmtL RqstL DBsmL
192.168.0.2       1 Full/DR           31.039s 192.168.0.2     eth0:192.168.0.1         0     0     0

Create a route on a router 1:

[email protected]:~$ conf
[email protected]# set protocols static route 192.168.100.0/24 blackhole 
[email protected]# commit
[email protected]# exit
[email protected]:~$ show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route

O   192.168.0.0/24 [110/1] is directly connected, eth0, 00:08:04
C>* 192.168.0.0/24 is directly connected, eth0, 00:09:19
O>* 192.168.100.0/24 [110/20] via 192.168.0.1, eth0, 00:01:03

Create a route on a router 2:

[email protected]:~$ conf
[email protected]# set protocols static route 192.168.100.0/24 blackhole
[email protected]:~$ show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route

O   192.168.0.0/24 [110/1] is directly connected, eth0, 00:09:59
C>* 192.168.0.0/24 is directly connected, eth0, 00:11:14
S>* 192.168.100.0/24 [1/0] unreachable (blackhole), 00:00:30
O   192.168.100.0/24 [110/20] via 192.168.0.1, eth0, 00:00:40

Remove the route on both routers:

[email protected]# delete protocols static route 192.168.100.0/24
[email protected]# commit
[email protected]# delete protocols static route 192.168.100.0/24
[email protected]# commit

And show:

[email protected]:~$ show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route

O   192.168.0.0/24 [110/1] is directly connected, eth0, 00:11:31
C>* 192.168.0.0/24 is directly connected, eth0, 00:13:28
O>* 192.168.100.0/24 [110/20] via 192.168.0.2, eth0, 00:02:47
[email protected]:~$ show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route

O   192.168.0.0/24 [110/1] is directly connected, eth0, 00:11:28
C>* 192.168.0.0/24 is directly connected, eth0, 00:12:43
O>* 192.168.100.0/24 [110/20] via 192.168.0.1, eth0, 00:02:09

Now I got a route loop. The problem is solved by rebooting routers.

Details

Difficulty level
Unknown (require assessment)
Version
1.2
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

daniil updated the task description. (Show Details)
syncer triaged this task as Normal priority.
syncer edited projects, added VyOS 1.3 Equuleus; removed VyOS 1.2 Crux.
Viacheslav added a subscriber: Viacheslav.

Fixed, VyOS 1.3-rolling-202007270117

[email protected]# run show ip route

S>* 0.0.0.0/0 [1/0] via 192.168.122.1, eth0, 00:23:35
O   10.0.0.0/30 [110/1] is directly connected, eth1, 00:02:06
C>* 10.0.0.0/30 is directly connected, eth1, 00:03:21
S>* 192.168.100.0/24 [1/0] unreachable (blackhole), 00:00:03
O   192.168.100.0/24 [110/20] via 10.0.0.2, eth1, 00:00:20
C>* 192.168.122.0/24 is directly connected, eth0, 00:23:39

on R2 delete route

delete protocols static route 192.168.100.0/24
commit

On R1 route not present

[email protected]# run show ip route

S>* 0.0.0.0/0 [1/0] via 192.168.122.1, eth0, 00:24:14
O   10.0.0.0/30 [110/1] is directly connected, eth1, 00:02:45
C>* 10.0.0.0/30 is directly connected, eth1, 00:04:00
C>* 192.168.122.0/24 is directly connected, eth0, 00:24:18
dmbaturin set Is it a breaking change? to Perfectly compatible.Sep 29 2021, 1:35 PM
dmbaturin set Issue type to Bug (incorrect behavior).