From c2aad53aa5430137ac5a76a8746f11604277835a Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 30 May 2017 09:53:52 -0700 Subject: IP Mcast - recalculate on interface up/dowm Change-Id: Ie5b88fd7187ed62218a2e4e0e493c33e3e9ecc2f Signed-off-by: Neale Ranns --- test/test_ip_mcast.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'test') diff --git a/test/test_ip_mcast.py b/test/test_ip_mcast.py index c1397d70..276555d6 100644 --- a/test/test_ip_mcast.py +++ b/test/test_ip_mcast.py @@ -89,8 +89,8 @@ class TestIPMcast(VppTestCase): capture.remove(p) return capture - def verify_capture_ip4(self, src_if, sent): - rxd = self.pg1.get_capture(N_PKTS_IN_STREAM) + def verify_capture_ip4(self, rx_if, sent): + rxd = rx_if.get_capture(len(sent)) try: capture = self.verify_filter(rxd, sent) @@ -118,8 +118,8 @@ class TestIPMcast(VppTestCase): except: raise - def verify_capture_ip6(self, src_if, sent): - capture = self.pg1.get_capture(N_PKTS_IN_STREAM) + def verify_capture_ip6(self, rx_if, sent): + capture = rx_if.get_capture(len(sent)) self.assertEqual(len(capture), len(sent)) @@ -232,11 +232,6 @@ class TestIPMcast(VppTestCase): # We expect replications on Pg1->7 self.verify_capture_ip4(self.pg1, tx) self.verify_capture_ip4(self.pg2, tx) - self.verify_capture_ip4(self.pg3, tx) - self.verify_capture_ip4(self.pg4, tx) - self.verify_capture_ip4(self.pg5, tx) - self.verify_capture_ip4(self.pg6, tx) - self.verify_capture_ip4(self.pg7, tx) # no replications on Pg0 self.pg0.assert_nothing_captured( @@ -259,11 +254,6 @@ class TestIPMcast(VppTestCase): # We expect replications on Pg1->7 self.verify_capture_ip4(self.pg1, tx) self.verify_capture_ip4(self.pg2, tx) - self.verify_capture_ip4(self.pg3, tx) - self.verify_capture_ip4(self.pg4, tx) - self.verify_capture_ip4(self.pg5, tx) - self.verify_capture_ip4(self.pg6, tx) - self.verify_capture_ip4(self.pg7, tx) # no replications on Pg0 self.pg0.assert_nothing_captured( @@ -308,10 +298,10 @@ class TestIPMcast(VppTestCase): self.verify_capture_ip4(self.pg1, tx) self.verify_capture_ip4(self.pg2, tx) self.verify_capture_ip4(self.pg3, tx) - - # no replications on Pg0 - self.pg0.assert_nothing_captured( - remark="IP multicast packets forwarded on PG0") + self.verify_capture_ip4(self.pg4, tx) + self.verify_capture_ip4(self.pg5, tx) + self.verify_capture_ip4(self.pg6, tx) + self.verify_capture_ip4(self.pg7, tx) route_232_1_1_1.remove_vpp_config() route_1_1_1_1_232_1_1_1.remove_vpp_config() @@ -408,6 +398,22 @@ class TestIPMcast(VppTestCase): self.pg3.assert_nothing_captured( remark="IP multicast packets forwarded on PG3") + # + # Bounce the interface and it should still work + # + self.pg1.admin_down() + self.pg0.add_stream(tx) + self.pg_enable_capture(self.pg_interfaces) + self.pg_start() + self.pg1.assert_nothing_captured( + remark="IP multicast packets forwarded on down PG1") + + self.pg1.admin_up() + self.pg0.add_stream(tx) + self.pg_enable_capture(self.pg_interfaces) + self.pg_start() + self.verify_capture_ip6(self.pg1, tx) + # # a stream that matches the route for (*,ff01::1) # -- cgit 1.2.3-korg