FS#79642 - [ppp] 2.5.0 breaks renamed network configuration

Attached to Project: Arch Linux
Opened by Ede Wolf (EdeWolf) - Sunday, 10 September 2023, 19:04 GMT
Last edited by Toolybird (Toolybird) - Saturday, 07 October 2023, 00:49 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Felix Yan (felixonmars)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

My ethernet interface for the ppp[oe] connection is named:

vlan7.vdsl

And of course, so it is named in the configuration. However, after upgrading to ppp-2.5.0, ppp throws an error:

/usr/sbin/pppd: In file /etc/ppp/peers/internet: unrecognized option 'vlan7.vdsl'

Downgrading back to ppp 2.4.9-3 (and rp-pppoe 3.15-2) makes the config work again.

This task depends upon

Closed by  Toolybird (Toolybird)
Saturday, 07 October 2023, 00:49 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See comments from PM. It was a config issue.
Comment by Bill Sideris (bill88t) - Sunday, 10 September 2023, 20:53 GMT
This also happens with my renamed wifi hotspot connection. This does not happen if I downgrade networkmanager to 1.42.6-1 and keep ppp to latest. I do not have rp-pppoe installed. When it happens on my system, networkmanager segfaults.

`systemd-coredump[2277]: [🡕] Process 466 (NetworkManager) of user 0 dumped core.`
If the full stack trace is needed let me know before my journal rolls over.
Comment by Ede Wolf (EdeWolf) - Sunday, 10 September 2023, 21:53 GMT
Seems more to be a problem of pppoe, so I will close this one and reopen with a correct package name
Comment by Ede Wolf (EdeWolf) - Sunday, 10 September 2023, 21:54 GMT
P.S.: I am using sytemd-networkd, and missed the comment of bill88t, so this may as well stay open. Sorry
Comment by loqs (loqs) - Sunday, 10 September 2023, 22:33 GMT
Can you reproduce the issue if you rebuild rp-pppoe 4.0-1 with ppp 2.4.9? Does applying the suggested fix from  FS#79639  also fix this issue?
Comment by Ede Wolf (EdeWolf) - Monday, 11 September 2023, 06:58 GMT
There seems to be a configuration issue here. My ppp options reads:

plugin rp-pppoe.so
#plugin /usr/lib/rp-pppoe/rp-pppoe.so
vlan7.vdsl

This works with ppp-2.4.9. Because, as it seems, I happen to have two rp-pppoe libs on my system, where the second one comes from the old ppp daemon itself and is removed now with 2.5.0. And I seem to have used the ppp one, as per ppp arch wiki (https://wiki.archlinux.org/title/Ppp)

# find /usr/ -iname "rp-pppoe.so"
/usr/lib/pppd/2.4.9/rp-pppoe.so
/usr/lib/rp-pppoe/rp-pppoe.so

Above working configuration seems to use the one native to pppd and therefore works. If I switch to the configuration with the full path plugin, it neither does work with the old pppd/rp-pppoe, nor with the new one.

In short, using ppp-2.4.9 and rp-pppoe-3.15, this works:
plugin rp-pppoe.so
vlan7.vdsl

While this does not:

plugin /usr/lib/rp-pppoe/rp-pppoe.so
vlan7.vdsl

Of course, not using the full path with ppp-2.5.0, but just "plugin rp-pppoe.so" option, makes pppd fail to start. Providing the full path, the network interface is not recognized, with either versions. I tried to rename the "vlan7.vdsl" interface name to just "vlan7", there is no change. So it is not the dot.

So the arch ppp documentation: https://wiki.archlinux.org/title/Ppp may need a revise, because it refers to the ppp internal rp-pppeo.so, that is not available any more with 2.5.0

Currently I am having trouble to find the proper way on how to correctly implement the new plugin, so that it will recognise the interface name.
Comment by Ede Wolf (EdeWolf) - Monday, 11 September 2023, 14:36 GMT
Got it. Sometimes it is helpful to read the documentation, that is actually supplied with the packages instead of searching the internets.
For documentation purposes, the correct syntax is:

plugin /usr/lib/rp-pppoe/rp-pppoe.so
nic-vlan7.vdsl

The "nic-" prefix does the magic. Sorry for the noise and any work I might have caused. As fas as I am concerned, this issue may be closed, but there is still the issue of bill88t, about which I cannot say anything or how it may be related to my issue

Thanks
Comment by Bill Sideris (bill88t) - Monday, 11 September 2023, 14:50 GMT
I will open a new issue since it's anyways probably more related to nm than ppp.
Comment by Felix Yan (felixonmars) - Tuesday, 12 September 2023, 14:03 GMT
I think you should be using just "pppoe.so" instead of any rp-pppoe.so combination. This should work with either the nic- prefix present or not, according to its documentation.

The change was in 2021: https://github.com/ppp-project/ppp/commit/610a7bd76eb1f99f22317541b35001b1e24877ed and our wiki was updated accordingly: https://wiki.archlinux.org/index.php?title=Ppp&diff=696210&oldid=696209
Comment by Ede Wolf (EdeWolf) - Wednesday, 13 September 2023, 09:11 GMT
@Felix: Unless I am misunderstanding you, using just "pppope.so" is,as of 2.5.0, not possible any more, as this refers to the plugin that has been shipped with ppp and that is now gone. So you have to use the full path of the plugin.

The old way:

plugin rp-pppoe.so

in ppp/options is not working any more as of pppd 2.5.0. Just try it.

So, with the advent of 2.5.0 the mentioned wiki documentation is outdated. Happens, on the internet. Not trying to blame anyone, I am more than thanksfull for all the work the arch documentation volunteers are doing, just pointing out.

The current wiki article, as of yesterday, de facto uses the pppd provided pppoe plugin, that used to reside below: /usr/lib/pppd/2.4.9/, where pppd is looking for its plugins, if no absolute path is being specified, and NOT the one provided with the rp-pppoe package. Exactly the same issue I have run into. Just happened to work all the years, as long as pppd brought along its own version.

And the mentioned documentation does also not use the "nic-" prefix, so it will not work any more. The pppd version of pppoe.so was happy without the prefix, the rp-pppoe packaged version is not. True for rp-pppoe 3.15 as well as 4.0. But neither the wiki nor I have been using that plugin.
Comment by Felix Yan (felixonmars) - Wednesday, 13 September 2023, 09:28 GMT
I think you have mixed up the two filenames. ppp 2.5.0 still ships "pppoe.so" while ppp 2.4.9 ships both "pppoe.so" and "rp-pppoe.so", with the latter deprecated. All of them are not related to the rp-pppoe package's "rp-pppoe.so" in any way.
Comment by Ede Wolf (EdeWolf) - Thursday, 14 September 2023, 06:55 GMT
My bad, you are absolutely right. Before the update I've had "plugin rp-pppoe" in my config, just checked an older backup.
So, indeed, just:
plugin pppoe.so

works, also without the "nic-" prefix and I can deinstall the rp-pppoe package without any consequences (so far). Probably the ppp install message:

>>> The kernel-mode plugin has a new place.
>>> It's now located under /usr/lib/rp-pppoe/rp-pppoe.so
>>> Change LINUX_PLUGIN to the new path in your /etc/ppp/pppoe.conf
:: Post-transaction-Hooks werden gestartet …

Has made sure I've only searched my system for rp-pppoe.so, not pppoe.so. But the wiki clearly talks about "plugin pppoe.so", not "plugin rp-pppoe.so". Obviously, I have not spotted this difference.

Thanks for the heads up!

Loading...