Page MenuHomeVyOS Platform

Sometimes installing of static routes failes
Open, Requires assessmentPublicBUG

Description

Hey team,

I have often the problem that static routes are not installed into frr and then into the route table:

Configured static routes

set protocols static route 0.0.0.0/0 next-hop 195.7.0.102
set protocols static route6 ::/0 next-hop 2a09:4c2:4b:66::2

After commit:

ip route show
195.7.0.100/30 dev eth11 proto kernel scope link src 195.7.0.101
ip -6 route show
2a09:4c2:4b:66::/64 dev eth11 proto kernel metric 256 pref medium

Route not installed and no ip route settings in frr are missing:

I expect following configuration in frr:

ip route 0.0.0.0/0 195.7.0.102
ipv6 route ::/0 2a09:4c2:4b:66::2

But it is missing.

When i do the manual way:

sudo /usr/bin/vtysh -c "conf t" -c "ip route 0.0.0.0/0 195.7.0.102"
sudo /usr/bin/vtysh -c "conf t" -c "ipv6 route ::/0 2a09:4c2:4b:66::2"

Routes are installed probably into frr and routing table:

ip route show
default nhid 29346 via 195.7.0.102 dev eth11 proto static metric 20 
195.7.0.100/30 dev eth11 proto kernel scope link src 195.7.0.101
ip -6 route show
2a09:4c2:4b:66::/64 dev eth11 proto kernel metric 256 pref medium
default nhid 29348 via 2a09:4c2:4b:66::2 dev eth11 proto static metric 20 pref medium

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.4-rolling-202105051111
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Event Timeline

Please use the following op-mode command to check:

show ip route 
show ipv6 route

Hi. Tried it (IPv4) on vyos-1.4-rolling-202103251004 in eve-ng
It reacts to set protocols static route 0.0.0.0/0 next-hop 195.7.0.102
After reboot it's still there
Screens added. It shows static route

upd. on vyos-1.4-rolling-202105051111 it's still there eve after reboot

Did you read the error description? It doesn't look like.

The problem is the config syncronization between vyos set protocols static route/route6 commands and the generated frr ip/ipv6 route config.
FRR configuration is missing, thus no routes added to the kernel. Manual frr ip route entries work as exspected.

Unfortunately, I can't reproduce it.
Also, all smoke test for static routes looks good.

vyos@r6-roll:~$ /usr/libexec/vyos/tests/smoke/cli/test_protocols_static.py
test_01_static (__main__.TestProtocolsStatic) ... ok
test_02_static_table (__main__.TestProtocolsStatic) ... ok
test_03_static_vrf (__main__.TestProtocolsStatic) ... ok
test_04_static_zebra_route_map (__main__.TestProtocolsStatic) ... set policy route-map foo-static-in rule 10 action permit

----------------------------------------------------------------------
Ran 4 tests in 105.952s

OK

Is there any other condition that preceded the problem?