summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-05-30 09:53:52 -0700
committerDamjan Marion <dmarion.lists@gmail.com>2017-06-01 17:15:44 +0000
commitc2aad53aa5430137ac5a76a8746f11604277835a (patch)
tree869340b20ecee5d88d8ebac60540fe927c02e34e /test
parent10d8cc6bf92851fcaec4a6b4c6d3554dc1eb2386 (diff)
IP Mcast - recalculate on interface up/dowm
Change-Id: Ie5b88fd7187ed62218a2e4e0e493c33e3e9ecc2f Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'test')
-rw-r--r--test/test_ip_mcast.py42
1 files changed, 24 insertions, 18 deletions
diff --git a/test/test_ip_mcast.py b/test/test_ip_mcast.py
index c1397d70492..276555d6267 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()
@@ -409,6 +399,22 @@ class TestIPMcast(VppTestCase):
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)
#
self.vapi.cli("clear trace")