On 9/4/20 5:03 PM, Douglas R. Reno wrote:


On Fri, Sep 4, 2020, 9:27 AM Tim Tassonis via blfs-dev <blfs-dev@lists.linuxfromscratch.org <mailto:blfs-dev@lists.linuxfromscratch.org>> wrote:



    On 9/4/20 8:26 AM, Bruce Dubbs via blfs-dev wrote:
     > On 9/4/20 12:36 AM, Tim Tassonis via blfs-dev wrote:
     >>
     >>
     >> On 9/4/20 2:12 AM, Ken Moffat via blfs-dev wrote:
     >>> On Fri, Sep 04, 2020 at 12:44:31AM +0200, Tim Tassonis via
    blfs-dev
     >>> wrote:
     >>>>
     >>>>
     >>>> On 9/3/20 10:29 PM, Pierre Labastie via blfs-dev wrote:
     >>>>> On Thu, 2020-09-03 at 21:47 +0200, Tim Tassonis via blfs-dev
    wrote:
     >>>>>>
     >>>>>> On 9/1/20 7:55 PM, Bruce Dubbs via blfs-dev wrote:
     >>>>>>> On 9/1/20 12:24 PM, Tim Tassonis via blfs-dev wrote:
     >>>>>>>> Hi all
     >>>>>>>>
     >>>>>>>> As one of Switzerland largest ISP's requires pppoe with vlan
     >>>>>>>> tagging
     >>>>>>>> for fiber connections, I wondered if vlan tagging could get
     >>>>>>>> supported
     >>>>>>>> in the network scripts.
     >>>>>>>>
     >>>>>>>> As I found out via
    https://wiki.archlinux.org/index.php/VLAN, one
     >>>>>>>> can
     >>>>>>>> create a tagged VLAN using
     >>>>>>>>
     >>>>>>>> ip link add link $REAL_IFACE name $VLAN_IFACE type vlan id
     >>>>>>>> $VLAN_ID
     >>>>>>>>
     >>>>>>>> , so I guess this could be implemented by
     >>>>>>>>
     >>>>>>>> - checking for $VLAN_IFACE and $VLAN_ID being set
     >>>>>>>> - checking for $VLAN_ID and $REAL_IFACE (in which case IFACE
     >>>>>>>> then
     >>>>>>>> holds the $VLAN_IFACE)
     >>>>>>>>
     >>>>>>>> The latter would probably be more consistent with other
    network
     >>>>>>>> stuff,
     >>>>>>>> where iface always holds the resulting interface, and not the
     >>>>>>>> physical
     >>>>>>>> one.
     >>>>>>>>
     >>>>>>>> I could add this to /lib/services/pppoe, if anyone else cares.
     >>>>>>>> I'm not
     >>>>>>>> sure if, apart from pppoe, anyone else is interested in vlan
     >>>>>>>> stuff.
     >>>>>>>> I'm not even sure /lib/services/pppoe is still in blfs....
     >>>>>>>>
     >>>>>>>> If yes, I could also add this to ipv4-static and dhcpcd.
     >>>>>>>
     >>>>>>> Tim,  Can you send me a patch that I can review?  I would
    want to
     >>>>>>> make
     >>>>>>> sure that changes will not affect users that do not need them.
     >>>>>>
     >>>>>> The patch against the pppoe service file I got is as follows:
     >>>>>>
     >>>>>>
     >>>>>> --- pppoe-service    2018-04-18 19:18:07.739547066 +0200
     >>>>>> +++ pppoe-service-vlan    2020-09-03 21:37:27.613134901 +0200
     >>>>>> @@ -46,11 +46,24 @@
     >>>>>>        exit 1
     >>>>>>     fi
     >>>>>>
     >>>>>> +if [ "x${REAL_IFACE}" != "x" ] && [ "x$x${REAL_IFACE}" != "x" ]
     >>>>>
     >>>>> I'm not sure what you want to do above: if the first test is
    true, the
     >>>>> second is true too, whatever the value of $x. Typo?
     >>>>
     >>>> Correct, "x$x${REAL_IFACE}" is a typo, it should read:
     >>>>
     >>>> if [ "x${REAL_IFACE}" != "x" ] && [ "x${REAL_IFACE}" != "x" ]
     >>>>
     >>>> Like this, it is a very portable way to check if both of those
     >>>> variables
     >>>> have any defined value. But there may be a bash shortcut, maybe:
     >>>>
     >>>
     >>> Maybe I'm missing something (very possible), but you seem to be
     >>> testing the same variable twice:
     >>>
     >>>   if [ "x${REAL_IFACE}" != "x" ] && [ "x${REAL_IFACE}" != "x" ]
     >>>
     >>> reformatted to put the two parts on separate lines:
     >>>
     >>>   if [ "x${REAL_IFACE}" != "x" ] &&
     >>>      [ "x${REAL_IFACE}" != "x" ]
     >>>
     >>>
     >>> Looking at your original posting, I think one of these should maybe
     >>> be ${IFACE} ?  It seems that if REAL_IFACE is set then an extra
     >>> module should be modprobed before pppoe is modprobed.
     >>
     >> Oh my god, typical programmer's blindness. Here's the (hopefully)
     >> fixed patch, and attached the fixed script:
     >>
     >> --- pppoe-service    2018-04-18 19:18:07.739547066 +0200
     >> +++ pppoe-service-vlan    2020-09-04 07:28:50.121311974 +0200
     >> @@ -46,11 +46,24 @@
     >>      exit 1
     >>   fi
     >>
     >> +if [ "x${REAL_IFACE}" != "x" ] && [ "x${VLAN_ID}" != "x" ]
     >> +then
     >> +   VLAN="Y"
     >> +   /sbin/modprobe 8021q
     >> +else
     >> +   VLAN="N"
     >> +fi
     >> +
     >>   case "${2}" in
     >>      up)
     >>         /sbin/modprobe pppoe
     >>         log_info_msg2 "\n"
     >>         if is_true ${MANAGE_IFACE}; then
     >> +        if [ "${VLAN}" = "Y" ]
     >> +        then
     >> +          /sbin/ip link set dev ${REAL_IFACE} up
     >> +          /sbin/ip link add link ${REAL_IFACE} name ${IFACE} type
     >> vlan id ${VLAN_ID}
     >> +        fi
     >>           log_info_msg "Bringing up the ${IFACE} interface..."
     >>           /sbin/ip link set dev ${IFACE} up
     >>           evaluate_retval
     >> @@ -68,6 +81,11 @@
     >>         if is_true ${MANAGE_IFACE}; then
     >>           log_info_msg "Bringing down the ${IFACE} interface..."
     >>           /sbin/ip link set dev ${IFACE} down
     >> +        if [ "${VLAN}" = "Y" ]
     >> +        then
     >> +          /sbin/ip link set dev ${REAL_IFACE} down
     >> +          /sbin/ip link del ${IFACE}
     >> +        fi
     >>           evaluate_retval
     >>         fi
     >>      ;;
     >
     > That looks more reasonable.  Now I'm trying to find a pppoe
    script or
     > service file.   We have install-service-pppoe in
    bootscripts/Makefile,
     > but no blfs/services/pppoe  or blfs/ppp/pppoe.   I don't have any
    pppoe
     > service file either.


    I just had a look, and the ppp page has been archived. I assume the
    service script would/should be installed from there, as it is only
    useful when using ppp.

    ppp now again seems to be actively maintained by samba.org
    <http://samba.org>, ppp-2.4.8 is
    from 2020-03-21, the first new release since 2014:

    What's new in ppp-2.4.8.
    ************************

    * New pppd options have been added:
        - ifname, to set the name for the PPP interface device
        - defaultroute-metric, to set the metric for the default route
        - defaultroute6, to add an IPv6 default route (with nodefaultroute6
          to prevent adding an IPv6 default route)
        - up_sdnotify, to have pppd notify systemd when the link is up.

    * The rp-pppoe plugin has new options:
        - host-uniq, to set the Host-Uniq value to send
        - pppoe-padi-timeout, to set the timeout for discovery packets
        - pppoe-padi-attempts, to set the number of discovery attempts.

    * Added the CLASS attribute in radius packets.

    * Sundry bug fixes.

    * Fixed warnings and issues found by static analysis.

    * Added Submitting-patches.md.



    I assume that ppp gets some kind of revival due to some ISP's requiring
    it for fiber connections.  Therefore I'd vote for de-archiving the
    package. It now even has systemd suppport! Not that I'd care
    personally,
    but probably useful for the systemd version of  the book.


I'd vote for this as well. With a little bit of research, I found a way for me to setup a PPP server, and I have a couple unused systems (one of which was just returned from my late grandpa's house). I will work on this on the side, but I do have extra modems sitting in a box from when my family used dialup. Two systems, one with pppd, and the other with the client on systemd, should do the trick (from what I read). I cannot give an ETA for completion though.


I assume you use RP-PPPoE, from https://dianne.skoll.ca/projects/rp-pppoe/?

If you had the time to send me your server config, that would be great. I wanted to setup my own ppp server for testing, too, but never really got around to do it.

Bye
Tim
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to