Page Menu
Home
VyOS Platform
Search
Configure Global Search
Log In
Files
F118309405
list_interfaces.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
list_interfaces.py
View Options
#!/usr/bin/env python3
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
()
if
args
.
type
:
try
:
interfaces
=
vyos
.
interfaces
.
list_interfaces_of_type
(
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"
)
l2tpv3
=
vyos
.
interfaces
.
list_interfaces_of_type
(
"l2tpv3"
)
openvpn
=
vyos
.
interfaces
.
list_interfaces_of_type
(
"openvpn"
)
wireless
=
vyos
.
interfaces
.
list_interfaces_of_type
(
"wireless"
)
tunnel
=
vyos
.
interfaces
.
list_interfaces_of_type
(
"tunnel"
)
vxlan
=
vyos
.
interfaces
.
list_interfaces_of_type
(
"vxlan"
)
geneve
=
vyos
.
interfaces
.
list_interfaces_of_type
(
"geneve"
)
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
not
'.'
in
intf
:
interfaces
.
append
(
intf
)
else
:
interfaces
=
vyos
.
interfaces
.
list_interfaces
()
print
(
" "
.
join
(
interfaces
))
File Metadata
Details
Attached
Mime Type
text/x-script.python
Expires
Sat, Oct 17, 12:47 AM (4 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4354526
Default Alt Text
list_interfaces.py (1 KB)
Attached To
Mode
rVYOSONEX vyos-1x
Attached
Detach File
Event Timeline
Log In to Comment