diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-08-27 11:55:16 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-08-27 11:55:16 +0200 |
commit | cd9bb2963e9e7c30d3bbebce9d4ef170107533a9 (patch) | |
tree | e51b0e27724802c402db8bf38a1e188987e71fc8 /src | |
parent | 93184326fc3768216b734a5fcc60e193b5e27fad (diff) | |
download | vyos-1x-cd9bb2963e9e7c30d3bbebce9d4ef170107533a9.tar.gz vyos-1x-cd9bb2963e9e7c30d3bbebce9d4ef170107533a9.zip |
list-interfaces: T1614: support listing interfaces which can be bonded
Diffstat (limited to 'src')
-rwxr-xr-x | src/completion/list_interfaces.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/completion/list_interfaces.py b/src/completion/list_interfaces.py index 66432af19..5e444ef78 100755 --- a/src/completion/list_interfaces.py +++ b/src/completion/list_interfaces.py @@ -2,15 +2,14 @@ import sys import argparse - import vyos.interfaces - parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group() group.add_argument("-t", "--type", type=str, help="List interfaces of specific type") group.add_argument("-b", "--broadcast", action="store_true", help="List all broadcast interfaces") group.add_argument("-br", "--bridgeable", action="store_true", help="List all bridgeable interfaces") +group.add_argument("-bo", "--bondable", action="store_true", help="List all bondable interfaces") args = parser.parse_args() @@ -21,11 +20,13 @@ if args.type: except ValueError as e: print(e, file=sys.stderr) print("") + elif args.broadcast: eth = vyos.interfaces.list_interfaces_of_type("ethernet") bridge = vyos.interfaces.list_interfaces_of_type("bridge") bond = vyos.interfaces.list_interfaces_of_type("bonding") interfaces = eth + bridge + bond + elif args.bridgeable: eth = vyos.interfaces.list_interfaces_of_type("ethernet") bond = vyos.interfaces.list_interfaces_of_type("bonding") @@ -34,6 +35,15 @@ elif args.bridgeable: vxlan = vyos.interfaces.list_interfaces_of_type("vxlan") wireless = vyos.interfaces.list_interfaces_of_type("wireless") interfaces = eth + bond + l2tpv3 + openvpn + vxlan + wireless + +elif args.bondable: + 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 + else: interfaces = vyos.interfaces.list_interfaces() |