mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
Merge pull request #18633 from y-bharath14/srib-tests-v11
tests: Fix potential issues in mcast-tester.py
This commit is contained in:
commit
f34ee05f8b
|
@ -25,28 +25,46 @@ import time
|
|||
#
|
||||
def interface_name_to_index(name):
|
||||
"Gets the interface index using its name. Returns None on failure."
|
||||
interfaces = json.loads(subprocess.check_output("ip -j link show", shell=True))
|
||||
try:
|
||||
interfaces = json.loads(subprocess.check_output("ip -j link show", shell=True))
|
||||
except subprocess.CalledProcessError as err:
|
||||
print(f"Error executing command: {err}")
|
||||
return None
|
||||
except json.JSONDecodeError as err:
|
||||
print(f"Error decoding JSON: {err}")
|
||||
return None
|
||||
|
||||
for interface in interfaces:
|
||||
if interface["ifname"] == name:
|
||||
return interface["ifindex"]
|
||||
if interface.get("ifname") == name:
|
||||
return interface.get("ifindex")
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def interface_index_to_address(index, iptype="inet"):
|
||||
"Gets the interface main address using its name. Returns None on failure."
|
||||
interfaces = json.loads(subprocess.check_output("ip -j addr show", shell=True))
|
||||
try:
|
||||
interfaces = json.loads(subprocess.check_output("ip -j addr show", shell=True))
|
||||
except subprocess.CalledProcessError as err:
|
||||
print(f"Error executing command: {err}")
|
||||
return None
|
||||
except json.JSONDecodeError as err:
|
||||
print(f"Error decoding JSON: {err}")
|
||||
return None
|
||||
|
||||
for interface in interfaces:
|
||||
if interface["ifindex"] == index:
|
||||
if interface.get("ifindex") == index:
|
||||
break
|
||||
else:
|
||||
return None
|
||||
|
||||
for address in interface["addr_info"]:
|
||||
if address["family"] == iptype:
|
||||
for address in interface.get("addr_info"):
|
||||
if address.get("family") == iptype:
|
||||
break
|
||||
else:
|
||||
return None
|
||||
|
||||
local_address = ipaddress.ip_address(address["local"])
|
||||
local_address = ipaddress.ip_address(address.get("local"))
|
||||
|
||||
return local_address.packed
|
||||
|
||||
|
|
Loading…
Reference in a new issue