mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 14:04:32 +00:00
tests: add iproute2 API guard to svd test
Add a iproute2 API guard to the SVD test using `bridge fdb get`. While it SHOULD be present on most systems based on their kernel version it may not be present due to kernel/iproute2 version mismatch weirdness. Signed-off-by: Stephen Worley <sworley@nvidia.com>
This commit is contained in:
parent
cc07a819e4
commit
51c33a5724
@ -205,6 +205,9 @@ def check_vni_macs_present(tgen, router, vni, maclist):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def check_flood_entry_present(pe, vni, vtep):
|
def check_flood_entry_present(pe, vni, vtep):
|
||||||
|
if not topotest.iproute2_is_fdb_get_capable():
|
||||||
|
return None
|
||||||
|
|
||||||
output = pe.run("bridge fdb get 00:00:00:00:00:00 dev vxlan0 vni {} self".format(vni))
|
output = pe.run("bridge fdb get 00:00:00:00:00:00 dev vxlan0 vni {} self".format(vni))
|
||||||
|
|
||||||
if str(vtep) not in output:
|
if str(vtep) not in output:
|
||||||
|
@ -595,6 +595,29 @@ def iproute2_is_vrf_capable():
|
|||||||
pass
|
pass
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def iproute2_is_fdb_get_capable():
|
||||||
|
"""
|
||||||
|
Checks if the iproute2 version installed on the system is capable of
|
||||||
|
handling `bridge fdb get` commands to query neigh table resolution.
|
||||||
|
|
||||||
|
Returns True if capability can be detected, returns False otherwise.
|
||||||
|
"""
|
||||||
|
|
||||||
|
if is_linux():
|
||||||
|
try:
|
||||||
|
subp = subprocess.Popen(
|
||||||
|
["bridge", "fdb", "get", "help"],
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE,
|
||||||
|
stdin=subprocess.PIPE,
|
||||||
|
)
|
||||||
|
iproute2_out = subp.communicate()[1].splitlines()[0].split()[0]
|
||||||
|
|
||||||
|
if "Usage" in str(iproute2_out):
|
||||||
|
return True
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
return False
|
||||||
|
|
||||||
def module_present_linux(module, load):
|
def module_present_linux(module, load):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user