diff --git a/scripts/route_check.py b/scripts/route_check.py index 4db3f399a2..c832b2c6ea 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -47,6 +47,7 @@ import traceback import subprocess +from ipaddress import ip_network from swsscommon import swsscommon from utilities_common import chassis @@ -145,7 +146,7 @@ def add_prefix(ip): ip = ip + PREFIX_SEPARATOR + "32" else: ip = ip + PREFIX_SEPARATOR + "128" - return ip + return str(ip_network(ip)) def add_prefix_ifnot(ip): @@ -154,7 +155,7 @@ def add_prefix_ifnot(ip): :param ip: IP to add prefix as string. :return ip with prefix """ - return ip if ip.find(PREFIX_SEPARATOR) != -1 else add_prefix(ip) + return str(ip_network(ip)) if ip.find(PREFIX_SEPARATOR) != -1 else add_prefix(ip) def is_local(ip): diff --git a/tests/route_check_test_data.py b/tests/route_check_test_data.py index b8ba9c521a..7ed1eee41f 100644 --- a/tests/route_check_test_data.py +++ b/tests/route_check_test_data.py @@ -462,4 +462,22 @@ }, RET: -1, }, + "10": { + DESCR: "basic good one with IPv6 address", + ARGS: "route_check -m INFO -i 1000", + PRE: { + APPL_DB: { + ROUTE_TABLE: { + }, + INTF_TABLE: { + "PortChannel1013:2000:31:0:0::1/64": {}, + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "2000:31::1/128" + RT_ENTRY_KEY_SUFFIX: {}, + } + } + } + }, }