Please update
http://www.roaringpenguin.com/penguin/pppoe/rp-pppoe-3.6.tar.gz Its been nearly a month...
this package is not a priority for me ('cause the endless array of rp-pppoe's bugs), but I will get it done eventually, just for the only thing that matter in it - server part. we choosed to implement our solution for PPPoE client connections (bug #53954). I hope it will soon replace all rp-pppoe installations on our user base.
Is this implementation ready for deployment? I'd love to move away from rp-pppoe
IMO yes.
this "solution" is based on the pppoe-plugin of pppd. I use the pppoe-plugin since a year and it works rock-solid.
I use that net module on a production server with a PPPoE Internet connection. it worked flawlessly for several months, not to mention the fact that is physically inaccesible to me, which shows how much faith I have in it.
the new version has been commited to the tree, but is hard masked until script paths from adsl net module of the baselayout gets updated. Roy, the adsl module should decide whether use adsl-{start,stop} or pppoe-{start,stop}, based on the existence of the /usr/sbin/pppoe-setup or /usr/sbin/adsl-setup. Please let me know when you're done.
I'll do this tomorrow - but do I prefer adsl-setup or pppoe-setup? I know that both probably won't exist, but there is the possibility ...... I'm guessing it's pppoe. Alin, care to clarify?
Since rp-pppoe isn't slotted, existence of adsl-setup and pppoe-setup is mutually exclusive: - adsl-* scripts are installed by net-dialup/rp-pppoe-3.5* - pppoe-* scripts are installed by net-dialup/rp-pppoe-3.6*
OK. Last question. With the dropping of the "Gentoo Patch" I take it that the adsl module should just called pppoe-start "${iface}" or just pppoe-start and not force ETH, PID, USER like we currently do?
Hmmmm. Does the pidfile get created with the interface name? It had better do .....
Created attachment 70552 [details] adsl module for baselayout-1.11
I didn't dropped gentoo-netscripts.patch. I planned to but I decided not to go this way. I will test this new module tomorrow.
Roy, the attached module use adsl-* scripts. It cannot possibly work with rp-pppoe-3.6.
Created attachment 70927 [details] adsl module for baselayout-1.11 Wups, uploaded the wrong module This one should work with both adsl-* and pppoe-*
Created attachment 71021 [details] adsl module for baselayout-1.11 This version corrects the info message about adsl-setup. The module starts connection as expected but fails to close it down due to inexistence of /var/run/adsl-${iface}.pid Unfortunately, /var/run contains only rp-pppoe.pid, rp-pppoe.pid.pppd and rp-pppoe.pid.start. Is this a problem?
Created attachment 71031 [details] adsl module for baselayout-1.11 This version also fix the PIDFILE problem. Now the pid file is /var/run/rp-pppoe-${iface}.pid regardless of the rp-pppoe version. It had been tested with rp-pppoe-3.6 and it works flawlessly. Please let me know when you update adsl module in all baselayout versions, for allowing me to unmask net-dialup/rp-pppoe-3.6.
Created attachment 71102 [details] adsl module for baselayout-1.11 New version, supports adsl_user_eth0 again.
Created attachment 71103 [details] adsl module for baselayout-1.12 Please test this module with baselayout-1.12.0_pre9-r1 If both work fine, then both will be comitted today and a new baselayout-1.12.0_pre10 rolled. I'll pester vapier about rolling a 1.11.14
version posted by you in comment #18 is identical with mine posted in comment #17
Created attachment 71446 [details] adsl module for baselayout-1.12 corrected module for baselayout-1.12 You've made a mistake in adsl_start. Your command was ${exe} <(< "${cfgfile}"; \ and I fixed with ${exe} <(cat "${cfgfile}"; \ After I've fixed the module, it worked just fine.
Created attachment 71447 [details] adsl module for baselayout-1.12 huh... I've posted more changes that I wanted to. Sorry!
proposed module for 1.11 works fine on arm/uClibc with baselayout-1.11.13-r1 and rp-pppoe-3.5-r11 in portage anything else you want me to test ?
I already test the rp-pppoe-3.6 with the attached modules on a x86 arch. I think it is enough.
baselayout-1.12.0_pre10 is released with the new adsl module
vapier, I need a baselayout-1.11 with adsl module updated in order to unmask rp-pppoe-3.6.
the 1.11 module isnt fully working ... tested with 1.11.13 plus the module posted here user_IFACE does not work at all ... i have to set USER to the proper value in my pppoe.conf for it to work the net module doesnt override the ETH setting in pppoe.conf all the time either ... start works fine, but stop always displays: * Stopping eth0 * WARNING: You are forcing modules! * Do not complain or file bugs if things start breaking * Bringing down eth0 * Stopping ADSL for eth0 [ !! ] * Shutting down eth0 ... [ ok ] my /etc/conf.d/net: modules_force=( "ifconfig" "adsl" ) config_eth0=( "adsl" ) user_eth0=( "vze2h932" ) ifconfig_eth1=( "192.168.0.1 netmask 255.255.255.0" ) also, if i set ETH and USER to the proper values, pppoe-start and pppoe-stop work nicely as expected
Created attachment 72957 [details] adsl module for baselayout-1.11 This module pass user_IFACE to the pppoe-start. Also, redirect output of pppoe-start/pppoe-stop to ${devnull}. These are the only 2 things different between the old attached module and the one found in baselayout-1.11.13-r1 (besides the support for rp-pppoe-3.6, of course). Please test this one.
Created attachment 72959 [details] adsl module for baselayout-1.11 Damn it! I've forgot about $ifvar and $user declaration. However, judging after the adsl module found in stable version of baselayout, the variable that contains the username is adsl_user_IFACE , not user_IFACE.
is there a reason for forcing the user var to be prefixed with adsl ? could add support for both ... # Might or might not be set in conf.d/net eval user=\"\$\{adsl_user_${ifvar}\}\" +[[ -n ${user} ]] && eval user=\"\$\{user_${ifvar}\}\"
don't see why not, but uberlord has the last word on that. btw, the last attached module works for me on baselayout-1.11.13-r1
almost there ... ETH is now correctly ignored when doing start/stop USER is correctly ignored when doing start, but not when doing stop ... perhaps the eval for user should be moved to adsl_setup_vars rather than just doing it in start() also, there is the matter of respecting user_$iface as a fall back ... what do you think Roy ?
I don't see why pppoe-stop should know about the correct USER (all that it does is killing the associated processes).
(In reply to comment #32) > also, there is the matter of respecting user_$iface as a fall back ... what do > you think Roy ? It was agriffis who wanted it prefixed with adsl - iirc that was so you could distinguish between an adsl user and another user. The adsl module and documentation only supports adsl_user, we've never supported user_$iface
> I don't see why pppoe-stop should know about the correct USER i agree except that isnt what my tests showed ;) if i comment out 'USER' in pppoe.conf and stop the interface, i get [ !! ] instead of [ OK ] adding back in USER to pppoe.conf and i get [ OK ] (same output as comment 27) > The adsl module and documentation only supports adsl_user, we've > never supported user_$iface thats no reason to not add it :P i'm not asking to break the current behavior, just add 'user_$iface' as a fallback value if the normal 'adsl_user_$iface' is empty
Created attachment 73028 [details] adsl module for baselayout-1.11 there you go! this variant contains the changes requested in comment #32.
the adsl_stop() function has a syntax/whitespace error: ${exe} <(cat "${cfgfile}"; \ echo "ETH=${iface}"; \ - echo "PIDFILE=/var/run/rp-pppoe-${iface}.pid") \ + echo "PIDFILE=/var/run/rp-pppoe-${iface}.pid"; \ [[ -n ${user} ]] && echo "USER=${user}") \ >${devnull} once i fixed that everything seems to be good ... Roy, want to go ahead and import this into 1.11.x and i'll work on testing a new release ?
the fixed adsl module is in the latest stable baselayout (sys-apps/baselayout-1.11.14-r2) I've unmasked net-dialup/rp-pppoe-3.6