diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_ip_mcast.py | 7 | ||||
-rw-r--r-- | test/vpp_ip_route.py | 29 |
2 files changed, 24 insertions, 12 deletions
diff --git a/test/test_ip_mcast.py b/test/test_ip_mcast.py index 64eb304a29e..1a39e9a9d81 100644 --- a/test/test_ip_mcast.py +++ b/test/test_ip_mcast.py @@ -273,6 +273,9 @@ class TestIPMcast(VppTestCase): self.pg_enable_capture(self.pg_interfaces) self.pg_start() + self.assertEqual(route_1_1_1_1_232_1_1_1.get_stats()['packets'], + len(tx)) + # We expect replications on Pg1->7 self.verify_capture_ip4(self.pg1, tx) self.verify_capture_ip4(self.pg2, tx) @@ -299,6 +302,9 @@ class TestIPMcast(VppTestCase): self.verify_capture_ip4(self.pg1, tx) self.verify_capture_ip4(self.pg2, tx) + self.assertEqual(route_1_1_1_1_232_1_1_1.get_stats()['packets'], + 2*len(tx)) + # no replications on Pg0 self.pg0.assert_nothing_captured( remark="IP multicast packets forwarded on PG0") @@ -339,6 +345,7 @@ class TestIPMcast(VppTestCase): # We expect replications on Pg1 only self.verify_capture_ip4(self.pg1, tx) + self.assertEqual(route_232.get_stats()['packets'], len(tx)) # no replications on Pg0, Pg2 not Pg3 self.pg0.assert_nothing_captured( diff --git a/test/vpp_ip_route.py b/test/vpp_ip_route.py index d24e4b1e487..00a79f44232 100644 --- a/test/vpp_ip_route.py +++ b/test/vpp_ip_route.py @@ -362,18 +362,19 @@ class VppIpMRoute(VppObject): def add_vpp_config(self): for path in self.paths: - self._test.vapi.ip_mroute_add_del(self.src_addr, - self.grp_addr, - self.grp_addr_len, - self.e_flags, - path.proto, - path.nh_itf, - path.nh_addr, - path.nh_i_flags, - bier_imp=path.bier_imp, - rpf_id=self.rpf_id, - table_id=self.table_id, - is_ipv6=self.is_ip6) + r = self._test.vapi.ip_mroute_add_del(self.src_addr, + self.grp_addr, + self.grp_addr_len, + self.e_flags, + path.proto, + path.nh_itf, + path.nh_addr, + path.nh_i_flags, + bier_imp=path.bier_imp, + rpf_id=self.rpf_id, + table_id=self.table_id, + is_ipv6=self.is_ip6) + self.stats_index = r.stats_index self._test.registry.register(self, self._test.logger) def remove_vpp_config(self): @@ -459,6 +460,10 @@ class VppIpMRoute(VppObject): inet_ntop(AF_INET, self.grp_addr), self.grp_addr_len)) + def get_stats(self): + c = self._test.statistics.get_counter("/net/mroute") + return c[0][self.stats_index] + class VppMFibSignal(object): def __init__(self, test, route, interface, packet): |