Static routes not working with PPPoE and VyOS 1.4

Hello

I’ve upgraded from 1.3.5 to 1.4.0-epa2. Now when I reboot the system, statically added routes are not added.

The PPPoE client is configured like this:

set interfaces pppoe pppoe0 no-default-route
set interfaces pppoe pppoe0 no-peer-dns
set interfaces pppoe pppoe0 mtu 1500
set interfaces pppoe pppoe0 mru 1500
set interfaces pppoe pppoe0 ipv6 address autoconf
set interfaces pppoe pppoe0 authentication username 'XXX'
set interfaces pppoe pppoe0 authentication password 'XXX'
set interfaces pppoe pppoe0 source-interface br0.11
set interfaces pppoe pppoe0 description WAN

The static routes are now set like this:

set protocols static route 0.0.0.0/0 interface pppoe0
set protocols static route6 ::/0 interface pppoe0

This works fine when doing a commit, but not on a reboot. If I reboot the system, it shows the following in the logs:

Mar 20 17:50:30 net01 kernel: pppoe0: renamed from ppp0
Mar 20 17:50:30 net01 pppd[8042]: Renamed interface ppp0 to pppoe0
Mar 20 17:50:30 net01 pppd[8042]: Using interface pppoe0
Mar 20 17:50:30 net01 pppd[8042]: Connect: pppoe0 <--> br0.11
Mar 20 17:50:30 net01 pppd[8042]: sent [LCP ConfReq id=0x1 <magic 0x1727bce5>]
Mar 20 17:50:30 net01 (udev-worker)[9861]: Network interface NamePolicy= disabled on kernel command line.
Mar 20 17:50:30 net01 pppd[8042]: rcvd [LCP ConfAck id=0x1 <magic 0x1727bce5>]
Mar 20 17:50:30 net01 staticd[1467]: [S4MGP-4WQTA] route_notify_owner: Route 0.0.0.0/0 failed to install for table: 254
Mar 20 17:50:30 net01 staticd[1467]: [S4MGP-4WQTA] route_notify_owner: Route ::/0 failed to install for table: 254

The routes are then missing from the main routing table. As a workaround, the can be disabled and enabled, which re-enables them correctly after doing the commit (manually adding them with “ip route” works too).

Using dynamically added routes works fine. I would however like to use static routes.

Probably this bug report T6140

No, this is not the same case.

The no-default-route option is not used in this bug report, but here it is.

I can confirm, using the no-default-route option causes static routes to not work.

@pepe @Viacheslav I think the Root Cause is you said. The static route is missing after the vyos 1.4 epa1/2 run a while. So I attached this post link in the ticket.

I keep reading everywhere “a while”. What time period is a “a while”. 5 minutes? 7 days? Are there PPPoE disconnections going on?

Details are important. Throwaway comments like “It’s much slower” also without any details aren’t very helpful.

1 Like

I upgrade 2 production environment vyos from vyos 1.3.6 to vyos 1.4.0 epa1 or vyos 1.4.0 epa2. After that. it happened as I upgraded. After I don’t know how long it goes to errror. and also users report network speed slowly. So I must be reverse back. it all good now. I cann’t take risks to upgrade it again. I provide config and other guys also report the error. If you wan to get more details, check the ticket I raised please. It is not only me got such issue.
Plus I upgrade 2 vyos router in production, different environment. on the router will have the routing issue. But computer in lan, network and routing are fine.

This is not the same case.In your case it stops working after some time (what time?). In this case it doesn’t work after reboot / pppoe reconnection.

1 Like

I think the default static routing is lost when pppoe reconnected when ISP force renew IPs.

That’s not true. I also tested this case.

In my case, static routing worked fine unless the system was rebooted. I did not have any PPPoE re-connects while testing so I cannot say anything about this. I did however had this problem with an 1.3.x release, which is why i switched to static routing in the first place.

In my experience, upgrading to 1.4.0 did not cause any performance problems.

I think we should focus on the static routing and not anything else in this thread.

@pepe you were able to reproduce the issue. Any idea what could cause it?

1 Like

Yes, I can reproduce the issue. I have no idea why this is happening.

I’m observing strange behavior when reconnecting.

Let’s assume we have a working static route.

admin@vyos-cli:~$ sh ip ro
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>* 0.0.0.0/0 [1/0] is directly connected, pppoe0, weight 1, 00:00:05
C>* 10.168.244.1/32 is directly connected, pppoe0, 00:00:47
C>* 192.168.200.0/29 is directly connected, eth1, 00:03:22

Disconnect pppoe session and check routing table.

admin@vyos-cli:~$ disconnect interface pppoe0 
Interface pppoe0: disconnecting...
admin@vyos-cli:~$ sh ip ro
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

C>* 192.168.200.0/29 is directly connected, eth1, 00:03:38

Connect and check routing table.
A static route has appeared.

admin@vyos-cli:~$ connect interface pppoe0 
Interface pppoe0: connecting...
admin@vyos-cli:~$ sh ip ro
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   0.0.0.0/0 [1/0] is directly connected, pppoe0 inactive, weight 1, 00:00:01
C>* 192.168.200.0/29 is directly connected, eth1, 00:03:46

Here it looks like pppoe has connected. 10.168.244.1 is pppoe server address.

admin@vyos-cli:~$ sh ip ro
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>* 0.0.0.0/0 [1/0] is directly connected, pppoe0, weight 1, 00:00:01
C>* 10.168.244.1/32 is directly connected, pppoe0, 00:00:01
C>* 192.168.200.0/29 is directly connected, eth1, 00:03:49

And now the static route disappears.

admin@vyos-cli:~$ sh ip ro
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

C>* 10.168.244.1/32 is directly connected, pppoe0, 00:00:02
C>* 192.168.200.0/29 is directly connected, eth1, 00:03:50

1 Like

@Viacheslav since this is likely a different issue, should I open another bug report?

Yes you should open a new bug report.

Opened a new issue: ⚓ T6172 Static routes not working with PPPoE and VyOS 1.4.0-epa2

Delete set interfaces pppoe pppoe0 no-default-route then static routing will be work.