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=6d0f21d8bc98b87fbcdc0845c58aec2960a8142d;hpb=a7427ec6f86cbeba7594f98e41fecab291d66b73;p=vpp.git diff --git a/test/test_ip4_vrf_multi_instance.py b/test/test_ip4_vrf_multi_instance.py index 6d0f21d8bc9..1004814b8f1 100644 --- a/test/test_ip4_vrf_multi_instance.py +++ b/test/test_ip4_vrf_multi_instance.py @@ -148,6 +148,10 @@ class TestIp4VrfMultiInst(VppTestCase): super(TestIp4VrfMultiInst, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestIp4VrfMultiInst, cls).tearDownClass() + def setUp(self): """ Clear trace and packet infos before running each test. @@ -160,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): """ @@ -332,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) == \