Page MenuHomeVyOS Platform

PPPoE client CLI redesign
Closed, ResolvedPublicFEATURE REQUEST

Description

The current PPPoE CLI is rather clumsy, like everything that is nested in interface for no good reason.
It's hard to extend it to support new interface types, and it's also hard for the user to change the interface it's sourced from.

I suggest moving it to its own interface type.

Details

Difficulty level
Hard (possibly days)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Related Objects

Event Timeline

Cisco has the interface type Dialer which is used to configure a ton of PPPoE stuff. In addition a dialer is later assigned to a physical interface, e.g. ATM line card or an ethernet port. With this type of configuration a physical interface can be moved easily.

PPP supports many forms of transfer, hense the dialer interface on cisco. almost all supported ppp/slip etc. functions are supported by the dialer function in a cisco device. Now, vyos supports PPPoE, but we don't support any other PPP "format".. if we intend to add support for more formats (serial nullmodem, modem, isdn++) then i would favor a new Dialer or Dialup interface type.. if not.. why not call it pppoe?

And yea, i feel like the configuration is quite backwards in the curremt implementation... Configuration of the ppp interface should be in its own interface block, and not inside a parent interface like it is today.. the parent is only an attribute on the ppp interface...

If there is a refactoring ongoing please also consider the following change to flatten the PPPoE IPv6 configuration by making use of a present nested node:

IMHO it makes no sense to have a dedicated enable-ipv6 leafnode in parallel to the ipv6 node. It should be placed under the ipv6 node instead as enable or enabled

current

vyos@vyos# show interfaces ethernet eth0 vif 7
+pppoe 0 {
+    enable-ipv6
+    ipv6 {
+        address {
+            autoconf
+        }
+        dup-addr-detect-transmits 2
+    }
+}

preferred

vyos@vyos# show interfaces ethernet eth0 vif 7
+pppoe 0 {
+    ipv6 {
+        enable
+        address {
+            autoconf
+        }
+        dup-addr-detect-transmits 2
+    }
+}

This change only applies to pppoe, regular ethernet interfaces do not have this CLI design flaw

vyos@vyos:~$ find /opt/vyatta/share/vyatta-cfg -name node.def | grep enable-ipv6
/opt/vyatta/share/vyatta-cfg/templates/interfaces/bonding/node.tag/pppoe/node.tag/enable-ipv6/node.def
/opt/vyatta/share/vyatta-cfg/templates/interfaces/bonding/node.tag/vif/node.tag/pppoe/node.tag/enable-ipv6/node.def
/opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/pppoe/node.tag/enable-ipv6/node.def
/opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/vif/node.tag/pppoe/node.tag/enable-ipv6/node.def

Right now there is also the possibility to enable IPv6 router-advertisments on a PPPoE client interface - this somehow makes no sense at all

  • set interfaces ethernet eth0 vif 7 pppoe 0 ipv6 router-advert
  • set interfaces ethernet eth0 pppoe 0 ipv6 router-advert
c-po changed the task status from Open to In progress.Feb 19 2020, 5:13 PM
c-po claimed this task.
c-po triaged this task as Normal priority.
c-po changed Difficulty level from Unknown (require assessment) to Hard (possibly days).
c-po set Is it a breaking change? to Unspecified (possibly destroys the router).
c-po moved this task from Need Triage to Finished on the VyOS 1.3 Equuleus board.