diff options
Diffstat (limited to 'test/test_ip4_vrf_multi_instance.py')
-rw-r--r-- | test/test_ip4_vrf_multi_instance.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/test/test_ip4_vrf_multi_instance.py b/test/test_ip4_vrf_multi_instance.py index 38604a53474..1004814b8f1 100644 --- a/test/test_ip4_vrf_multi_instance.py +++ b/test/test_ip4_vrf_multi_instance.py @@ -337,17 +337,19 @@ class TestIp4VrfMultiInst(VppTestCase): :param int vrf_id: The FIB table / VRF ID to be verified. :return: 1 if the FIB table / VRF ID is configured, otherwise return 0. """ - ip_fib_dump = self.vapi.ip_fib_dump() - vrf_exist = False + ip_fib_dump = self.vapi.ip_route_dump(vrf_id) + vrf_exist = len(ip_fib_dump) vrf_count = 0 for ip_fib_details in ip_fib_dump: - if ip_fib_details.table_id == vrf_id: - if not vrf_exist: - vrf_exist = True - addr = socket.inet_ntoa(ip_fib_details.address) - found = False - for pg_if in self.pg_if_by_vrf_id[vrf_id]: - if found: + addr = ip_fib_details.route.prefix.network_address + found = False + for pg_if in self.pg_if_by_vrf_id[vrf_id]: + if found: + break + for host in pg_if.remote_hosts: + if str(addr) == host.ip4: + vrf_count += 1 + found = True break for host in pg_if.remote_hosts: if scapy.compat.raw(addr) == \ |