From 0bac5f7a7ba924f7ce793298925466c464e24c88 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 25 Jan 2020 11:23:12 +0100 Subject: list_interfaces: change bonding interface list logic The previous logic returned: >>> eth = vyos.interfaces.list_interfaces_of_type("ethernet") >>> for intf in eth: ... print(intf) ... eth0 eth1 eth2 eth0.201 eth1.50 >>> for intf in eth: ... if '.' in intf: ... eth.remove(intf) ... >>> eth ['eth0', 'eth1', 'eth2', 'eth1.50'] This only eth0.201 was removed --- src/completion/list_interfaces.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/completion') diff --git a/src/completion/list_interfaces.py b/src/completion/list_interfaces.py index 0ed683074..8cd59917d 100755 --- a/src/completion/list_interfaces.py +++ b/src/completion/list_interfaces.py @@ -40,12 +40,13 @@ elif args.bridgeable: interfaces = eth + bond + l2tpv3 + openvpn + vxlan + tunnel + wireless + geneve elif args.bondable: + interfaces = [] eth = vyos.interfaces.list_interfaces_of_type("ethernet") + # we need to filter out VLAN interfaces identified by a dot (.) in their name for intf in eth: - if '.' in intf: - eth.remove(intf) - interfaces = eth + if not '.' in intf: + interfaces.append(intf) else: interfaces = vyos.interfaces.list_interfaces() -- cgit v1.2.3