diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-11-19 07:37:56 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-11-19 07:37:59 +0100 |
commit | a14f93adfa633eabff90524e1f83d56092ec0c3c (patch) | |
tree | 6b7eb461cf3bcffde26be4dccf199fa16705d1a6 | |
parent | d9a19b77a56031fa3fbfa43a85c8be7ee83ae3d7 (diff) | |
download | vyos-1x-a14f93adfa633eabff90524e1f83d56092ec0c3c.tar.gz vyos-1x-a14f93adfa633eabff90524e1f83d56092ec0c3c.zip |
ethernet: T4011: deleting interface should place interface in admin down state
Interface will still be visible to the operating system.
-rw-r--r-- | python/vyos/ifconfig/ethernet.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/python/vyos/ifconfig/ethernet.py b/python/vyos/ifconfig/ethernet.py index 2e59a7afc..9d54dc78e 100644 --- a/python/vyos/ifconfig/ethernet.py +++ b/python/vyos/ifconfig/ethernet.py @@ -80,6 +80,23 @@ class EthernetIf(Interface): super().__init__(ifname, **kargs) self.ethtool = Ethtool(ifname) + def remove(self): + """ + Remove interface from config. Removing the interface deconfigures all + assigned IP addresses. + Example: + >>> from vyos.ifconfig import WWANIf + >>> i = EthernetIf('eth0') + >>> i.remove() + """ + + if self.exists(self.ifname): + # interface is placed in A/D state when removed from config! It + # will remain visible for the operating system. + self.set_admin_state('down') + + super().remove() + def set_flow_control(self, enable): """ Changes the pause parameters of the specified Ethernet device. |