[1.4-rolling-202111290926] 0.0.0.0/0 not being applied to routing table

VyOS Upgrade from 1.3.0-epa3 to 1.4-rolling-202111290926

I have the following under show proto static:

 route 0.0.0.0/0 {
     next-hop 1.2.3.4 {
     }
 }
 route 10.43.0.0/16 {
     next-hop 172.16.46.1 {
     }
     next-hop 172.16.46.2 {
     }
 }
 route 10.44.0.0/16 {
     next-hop 172.16.50.2 {
     }
 }
 route 10.248.0.0/13 {
     next-hop 172.16.42.2 {
     }
 }
 route6 ::/0 {
     interface tun1 {
     }
 }
 table 10 {
     route 0.0.0.0/0 {
         next-hop 2.3.4.254 {
             interface eth0
         }
     }
 }
 table 11 {
     route 0.0.0.0/0 {
         next-hop 1.2.3.4 {
         }
     }
 }

ip route:

localadmin@rtrvin300# ip route
10.43.0.0/16 nhid 59 via 172.16.46.2 dev vti0 proto static metric 20
10.44.0.0/16 nhid 60 via 172.16.50.2 dev tun2 proto static metric 20
10.200.0.0/22 dev eth1.100 proto kernel scope link src 10.200.0.9
10.200.4.0/23 dev eth1.99 proto kernel scope link src 10.200.4.1
10.200.6.0/24 dev eth1.90 proto kernel scope link src 10.200.6.1
10.200.10.0/24 dev eth1.86 proto kernel scope link src 10.200.10.1
10.200.11.0/24 dev eth1.200 proto kernel scope link src 10.200.11.1
10.200.12.0/24 dev eth1.210 proto kernel scope link src 10.200.12.1
10.248.0.0/13 nhid 61 via 172.16.42.2 dev tun0 proto static metric 20
1.2.3.0/27 dev eth1 proto kernel scope link src 1.2.3.0
172.16.42.0/29 dev tun0 proto kernel scope link src 172.16.42.1
172.16.46.0/30 dev vti0 proto kernel scope link src 172.16.46.1
172.16.50.0/29 dev tun2 proto kernel scope link src 172.16.50.1
192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.1
[edit]

FRR:

localadmin@rtrvin300# vtysh

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

rtrvin300# 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, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

S>* 10.43.0.0/16 [1/0] via 172.16.46.2, vti0, weight 1, 00:11:13
S>* 10.44.0.0/16 [1/0] via 172.16.50.2, tun2, weight 1, 00:11:13
O   10.200.0.0/22 [110/1] is directly connected, eth1.100, weight 1, 00:11:07
C>* 10.200.0.0/22 is directly connected, eth1.100, 00:11:23
O   10.200.4.0/23 [110/1] is directly connected, eth1.99, weight 1, 00:11:07
C>* 10.200.4.0/23 is directly connected, eth1.99, 00:11:23
O   10.200.6.0/24 [110/1] is directly connected, eth1.90, weight 1, 00:11:07
C>* 10.200.6.0/24 is directly connected, eth1.90, 00:11:23
O   10.200.10.0/24 [110/1] is directly connected, eth1.86, weight 1, 00:11:07
C>* 10.200.10.0/24 is directly connected, eth1.86, 00:11:23
O   10.200.11.0/24 [110/1] is directly connected, eth1.200, weight 1, 00:11:07
C>* 10.200.11.0/24 is directly connected, eth1.200, 00:11:22
O   10.200.12.0/24 [110/1] is directly connected, eth1.210, weight 1, 00:11:07
C>* 10.200.12.0/24 is directly connected, eth1.210, 00:11:22
S>* 10.248.0.0/13 [1/0] via 172.16.42.2, tun0, weight 1, 00:11:13
C>* 5.4.3.144/32 is directly connected, eth0, 00:11:22
C>* 2.3.4.81/32 is directly connected, eth0, 00:11:22
C>* 2.3.4.85/32 is directly connected, eth0, 00:11:22
O   172.16.42.0/29 [110/1] is directly connected, tun0, weight 1, 00:11:07
C>* 172.16.42.0/29 is directly connected, tun0, 00:11:21
O   172.16.46.0/30 [110/1] is directly connected, vti0, weight 1, 00:11:07
C>* 172.16.46.0/30 is directly connected, vti0, 00:11:20
O   172.16.50.0/29 [110/1] is directly connected, tun2, weight 1, 00:11:07
C>* 172.16.50.0/29 is directly connected, tun2, 00:11:21
C>* 192.168.99.0/24 is directly connected, eth2, 00:11:22
rtrvin300#

For some reason, it doesn’t add the default route into the linux or FRR routing tables.

Doing ip route add default via 1.2.3.4 dev eth1 works fine.

conf
load
compare

That didn’t work. I also tried a reboot just to be safe.

localadmin@rtrvin300# conf
lNo confirm pending.
[edit]
localadmin@rtrvin300# load
compare
Loading configuration from 'config.boot'
No configuration changes to commit.
[edit]
localadmin@rtrvin300# compare
No changes between working and active configurations.
[edit]
localadmin@rtrvin300#

Is it directly connected route? I don’t see it in the routing table.

Yes, it would be this:

I just sanitized the IPs a bit too well.

ip rule show
ip route show table 220
localadmin@rtrvin300# ip rule show
0:      from all lookup local
10:     from all fwmark 0x80000009 lookup 10
11:     from all fwmark 0x8000000a lookup 11
101:    from 1.2.3.1 lookup 11
101:    from 1.2.3.2 lookup 11
101:    from 1.2.3.3 lookup 11
102:    from 5.4.3.144 lookup 10
102:    from 2.3.4.81 lookup 10
102:    from 2.3.4.85 lookup 10
220:    from all lookup 220
32766:  from all lookup main
32767:  from all lookup default
[edit]
localadmin@rtrvin300# ip route show table 220
Error: ipv4: FIB table does not exist.
Dump terminated
[edit]
localadmin@rtrvin300#

ip route get 1.2.3.4

localadmin@rtrvin300# ip route get 1.2.3.4
1.2.3.4 dev eth1 src 1.2.3.1 uid 1002
    cache
[edit]

It is a strange src address, did yo add it from the VyOS CLI?

Sorry, that src address is 1.2.3.1.

1.2.3.0/27 dev eth1 proto kernel scope link src 1.2.3.1

It is difficult to say without configuration.
So if your configuration worked in 1.3, it is better to create a task at phabricator

Attach to task your configuration:
show conf com | strip-private

Task created

For those who are following, Viacheslav opened up a issue with FRR upstream.

Link here: https://github.com/FRRouting/frr/issues/10160

1 Like