Page Menu
Home
VyOS Platform
Search
Configure Global Search
Log In
Files
F118306105
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
from
vyos.ifconfig
import
Section
def
matching
(
feature
):
for
section
in
Section
.
feature
(
feature
):
for
intf
in
Section
.
interfaces
(
section
):
yield
intf
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
=
Section
.
interfaces
(
args
.
type
)
print
(
" "
.
join
(
interfaces
))
except
ValueError
as
e
:
print
(
e
,
file
=
sys
.
stderr
)
print
(
""
)
elif
args
.
broadcast
:
print
(
" "
.
join
(
matching
(
"broadcast"
)))
elif
args
.
bridgeable
:
print
(
" "
.
join
(
matching
(
"bridgeable"
)))
elif
args
.
bondable
:
# we need to filter out VLAN interfaces identified by a dot (.) in their name
print
(
" "
.
join
([
intf
for
intf
in
matching
(
"bondable"
)
if
'.'
not
in
intf
]))
else
:
print
(
" "
.
join
(
Section
.
interfaces
()))
File Metadata
Details
Attached
Mime Type
text/x-script.python
Expires
Sat, Oct 17, 12:12 AM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4376299
Default Alt Text
list_interfaces.py (1 KB)
Attached To
Mode
rVYOSONEX vyos-1x
Attached
Detach File
Event Timeline
Log In to Comment