summaryrefslogtreecommitdiff
path: root/python/vyos/ifconfig/l2tpv3.py
AgeCommit message (Collapse)Author
2021-08-02l2tpv3: T1594: Fix timeout before set l2tpv3 interfaceViacheslav
In some cases, we need to wait until local address is assigned. And only then l2tpv3 tunnel can be configured. For example when ipv6 address is in "tentative" state or we wait for some routing daemon/route for a remote address.
2021-02-28vif: T3349: use fixed ordering when enabling parent and child interfaceChristian Poessinger
When a VIF/VLAN interface is placed in admin down state but the lower interface, serving the vlan, is moved from admin down -> admin up, all its vlan interfaces will be placed in admin up state, too. This is bad as a VLAN interface will become admin up even if its specified as admin down after a reboot. To reproduce: set interfaces ethernet eth1 vif 20 disable set interfaces ethernet eth1 disable commit delete interfaces ethernet eth1 disable commit Now check the interface state and it returns UP,LOWER_UP 7: eth1.20@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:50:56:b3:09:07 brd ff:ff:ff:ff:ff:ff inet6 fe80::250:56ff:feb3:907/64 scope link valid_lft forever preferred_lft forever
2021-02-28l2tpv3: T3366: migrate local-ip and remote-ip CLI optionsChristian Poessinger
Rename CLI options local-ip to source-address and remote-ip to remote to get a consistent CLI experience for the user.
2021-02-28vyos.ifconfig: T1579: remove calls to vyos.ifconfig.Interface.get_config()Christian Poessinger
Interface.get_config() was always a pure helper which exposed a "per interface type" dictionary which was then fed by the caller to create interfaces by iproute2 which required additional options during creation time. Such interfaces had been: * tunnel * vxlan * geneve * macsec * wifi * macvlan / pseudo-ethernet The code was always duplicated to convert from the VyOS CLI based get_config_dict() to a dict which can be used to feed iproute2. This path has been removed and we now always feed in the entire dictionary retrieved by get_config_dict() or in the interfaces case, it's high-level wrapper get_interface_dict() to the interface we wan't to create. This also adds the - personally long awaited - possibility to get rid of the derived tunnel classes for e.g. GRE, IPIP, IPIP6 and so on.
2020-11-12l2tpv3: T3059: fix interface state which is permanently downernstjo
2020-09-20ifconfig: T2653: remove duplicates of get_config()Christian Poessinger
A lot of derived classes from Interface implemented their own get_config() method which more or less was the same everywhere. We also hat different qualifiers like @staticmethod or @classmethod. This is now changed to only have the @classmethod in Interface base class which will return the necessary dictionary keys for the required interfaces. This change is a mid reduction in lines of code which is always a very nice thing!
2020-09-19ifconfig: T2653: convert VLAN interfaces do discrete classChristian Poessinger
Instead of using an Adapter pattern to make interfaces VLAN-aware, create a derived class named VLANIf to represent a VLAN. This change was necessary to eliminate mixed code in Interfaces class which was VLAN - free, but recently gained some VLAN specific code for set_admin_state(). In addition this "autoresolves" the issue in T2894 as a bond vlan interface will no longer change the lower interface.
2020-04-05ifconfig: l2tpv3: T1823: fix remaining errors in config syntaxChristian Poessinger
Commit b5310b0 ("ifconfig: l2tpv3: T1823: fix configuration build syntax") did not cover all parts of the l2tpv3 config. Some parts when e.g. adjusting l2tpv3 addresses after the tunnel was created did fail with the same error. This has been fixed.
2020-04-02fconfig: l2tpv3: T1823: fix configuration build syntaxChristian Poessinger
Fixes reference to unspecified variable Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/interfaces-l2tpv3.py", line 245, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/interfaces-l2tpv3.py", line 211, inapply l = L2TPv3If(l2tpv3['intf'], **conf) File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 185, in __init__ self._create() File "/usr/lib/python3/dist-packages/vyos/ifconfig/l2tpv3.py", line 48, in _create cmd = 'ip l2tp add tunnel tunnel_id {} '.format(config['tunnel_id']) NameError: name 'config' is not defined
2020-04-02ifconfig: l2tpv3: T1823: add missing items from config dict to optionsChristian Poessinger
Commit 8a4dd6c2816 ("ifconfig: T2057: add class Register") added the interface options but not all have been migrated. The forgotten ones have been added by this commit (session_id & peer_session_id).
2020-03-28ifconfig: T2057: explicity name state functionsThomas Mangin
The Interface get_state/set_state were not clear about if they edited the admin or operational state. functions are now using admin_state and oper_state for clarity.
2020-03-24ifconfig: T2057: add class RegisterThomas Mangin
2020-03-22ifconfig: T2104: remove superfluous __init__ in derived classesChristian Poessinger
__init__ should be added to a derived class only if it does work in the ctor.
2020-03-06ifconfig: T2104: splt ifconfig.py into multiple filesThomas Mangin