mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 03:47:47 +00:00
topotests: add API to detect if iproute2 is json capable
Some tests may want to use the json facility of iproute2 to dump some results. Add an internal API in lib/topotest.py that tells whether iproute2 is json capable or not. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
parent
9fb7d677d3
commit
a6b1d38d7f
@ -602,6 +602,30 @@ def is_linux():
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def iproute2_is_json_capable():
|
||||||
|
"""
|
||||||
|
Checks if the iproute2 version installed on the system is capable of
|
||||||
|
handling JSON outputss
|
||||||
|
|
||||||
|
Returns True if capability can be detected, returns False otherwise.
|
||||||
|
"""
|
||||||
|
if is_linux():
|
||||||
|
try:
|
||||||
|
subp = subprocess.Popen(
|
||||||
|
["ip", "-json", "route", "show"],
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE,
|
||||||
|
stdin=subprocess.PIPE,
|
||||||
|
)
|
||||||
|
iproute2_err = subp.communicate()[1].splitlines()[0].split()[0]
|
||||||
|
|
||||||
|
if iproute2_err != "Error:":
|
||||||
|
return True
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def iproute2_is_vrf_capable():
|
def iproute2_is_vrf_capable():
|
||||||
"""
|
"""
|
||||||
Checks if the iproute2 version installed on the system is capable of
|
Checks if the iproute2 version installed on the system is capable of
|
||||||
|
Loading…
Reference in New Issue
Block a user