diff --git a/scripts/ipintutil b/scripts/ipintutil index 5535bce7e7..85879972e0 100755 --- a/scripts/ipintutil +++ b/scripts/ipintutil @@ -29,6 +29,7 @@ try: mock_tables.dbconnector.load_namespace_config() else: import mock_tables.mock_single_asic + mock_tables.mock_single_asic.add_unknown_intf=True except KeyError: pass @@ -150,7 +151,10 @@ def get_ip_intfs_in_namespace(af, namespace, display): ip_intf_attr = [] if namespace != constants.DEFAULT_NAMESPACE and skip_ip_intf_display(iface, display): continue - ipaddresses = multi_asic_util.multi_asic_get_ip_intf_addr_from_ns(namespace, iface) + try: + ipaddresses = multi_asic_util.multi_asic_get_ip_intf_addr_from_ns(namespace, iface) + except ValueError: + continue if af in ipaddresses: ifaddresses = [] bgp_neighs = {} diff --git a/tests/mock_tables/mock_single_asic.py b/tests/mock_tables/mock_single_asic.py index 08c2157c9d..ac97c4bc79 100644 --- a/tests/mock_tables/mock_single_asic.py +++ b/tests/mock_tables/mock_single_asic.py @@ -4,6 +4,8 @@ from sonic_py_common import multi_asic from utilities_common import multi_asic as multi_asic_util +add_unknown_intf=False + mock_intf_table = { '': { 'eth0': { @@ -60,6 +62,8 @@ def mock_single_asic_get_ip_intf_from_ns(namespace): interfaces = [] try: interfaces = list(mock_intf_table[namespace].keys()) + if add_unknown_intf: + interfaces.append("unknownintf") except KeyError: pass return interfaces @@ -70,7 +74,8 @@ def mock_single_asic_get_ip_intf_addr_from_ns(namespace, iface): try: ipaddresses = mock_intf_table[namespace][iface] except KeyError: - pass + if add_unknown_intf: + raise ValueError("Unknow interface") return ipaddresses