Page MenuHomeVyOS Platform

tunnel: sourceing from dynamic pppoe0 interface will fail on reboots
Closed, ResolvedPublicBUG

Description

image.png (401×721 px, 35 KB)

[ interfaces tunnel tun0 ]
Interface "pppoe0" does not exist!

Reproduce:

set interfaces pppoe pppoe0 authentication password 'vyos'
set interfaces pppoe pppoe0 authentication username 'vyos'
set interfaces pppoe pppoe0 source-interface 'eth0.202'

set interfaces tunnel tun0 address '192.0.2.1/31'
set interfaces tunnel tun0 encapsulation 'gre'
set interfaces tunnel tun0 remote '100.64.0.1'
set interfaces tunnel tun0 source-interface 'pppoe0'

If the connection can be established to the BRAS, the commit will work. Rebooting VyOS and having pppoe0 not come up fast, you will get this error message.

This can also be reproduced with another VyOS PPPoE Server using:

set service pppoe-server authentication local-users username vyos password 'vyos'
set service pppoe-server client-ip-pool foo range '10.0.0.0/24'
set service pppoe-server default-pool 'foo'
set service pppoe-server gateway-address '1.1.1.1'
set service pppoe-server interface eth0.202

And simply disabling the service during reboot to trigger this bug.

Details

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

Event Timeline

c-po renamed this task from tunnel: souring from dynamic pppoe0 interface will fail on reboots to tunnel: sourceing from dynamic pppoe0 interface will fail on reboots.Dec 30 2023, 8:52 PM
c-po claimed this task.
c-po created this task.

Related to the list provided in https://vyos.dev/T5706 ?

That is src/etc/udev/rules.d/99-vyos-systemd.rules :

# Apply sysctl variables to network devices (and only to those) as they appear. 
# T5706. Exclude: lo, dummy*, ppp*, ipoe*, l2tp*, pptp*, sslvpn* and sstp*.
ACTION=="add", SUBSYSTEM=="net", KERNEL!="lo|dummy*|ppp*|ipoe*|l2tp*|pptp*|sslvpn*|sstp*", RUN+="/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name"

If so, perhaps update src/etc/udev/rules.d/99-vyos-systemd.rules aswell to mention T5879 in the comments so next time that file or whatever file(s) needed to be fixed in T5879 are changed the developer will hopefully change files from both tasks to have the list of dynamic interfaces in sync?