X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_ip4_vrf_multi_instance.py;h=1004814b8f1a8b80cc25d67ef7f6f50e512d9302;hb=097fa66b9;hp=ff6a7227b6f564f7a8faa6f0547466accdb7f4d4;hpb=7f9b7f9f492d1748d8ba025b3a713058fdb1943d;p=vpp.git diff --git a/test/test_ip4_vrf_multi_instance.py b/test/test_ip4_vrf_multi_instance.py index ff6a7227b6f..1004814b8f1 100644 --- a/test/test_ip4_vrf_multi_instance.py +++ b/test/test_ip4_vrf_multi_instance.py @@ -164,9 +164,10 @@ class TestIp4VrfMultiInst(VppTestCase): Show various debug prints after each test. """ super(TestIp4VrfMultiInst, self).tearDown() - if not self.vpp_dead: - self.logger.info(self.vapi.ppcli("show ip fib")) - self.logger.info(self.vapi.ppcli("show ip arp")) + + def show_commands_at_teardown(self): + self.logger.info(self.vapi.ppcli("show ip fib")) + self.logger.info(self.vapi.ppcli("show ip arp")) def create_vrf_and_assign_interfaces(self, count, start=1): """ @@ -336,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) == \