mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-04 02:46:34 +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
|
||||
|
||||
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))
|
||||
|
||||
if str(vtep) not in output:
|
||||
|
@ -595,6 +595,29 @@ def iproute2_is_vrf_capable():
|
||||
pass
|
||||
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):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user