fib: fib api updates
[vpp.git] / test / test_ip_mcast.py
index 1a39e9a..b753f9a 100644 (file)
@@ -5,7 +5,7 @@ import unittest
 from framework import VppTestCase, VppTestRunner
 from vpp_ip import DpoProto
 from vpp_ip_route import VppIpMRoute, VppMRoutePath, VppMFibSignal, \
-    MRouteItfFlags, MRouteEntryFlags, VppIpTable
+    MRouteItfFlags, MRouteEntryFlags, VppIpTable, FibPathProto
 
 from scapy.packet import Raw
 from scapy.layers.l2 import Ether
@@ -25,6 +25,14 @@ N_PKTS_IN_STREAM = 91
 class TestMFIB(VppTestCase):
     """ MFIB Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestMFIB, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestMFIB, cls).tearDownClass()
+
     def setUp(self):
         super(TestMFIB, self).setUp()
 
@@ -34,12 +42,20 @@ class TestMFIB(VppTestCase):
 
         if error:
             self.logger.critical(error)
-        self.assertEqual(error.find("Failed"), -1)
+        self.assertNotIn("Failed", error)
 
 
 class TestIPMcast(VppTestCase):
     """ IP Multicast Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestIPMcast, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestIPMcast, cls).tearDownClass()
+
     def setUp(self):
         super(TestIPMcast, self).setUp()
 
@@ -104,7 +120,7 @@ class TestIPMcast(VppTestCase):
 
     def verify_filter(self, capture, sent):
         if not len(capture) == len(sent):
-            # filter out any IPv6 RAs from the captur
+            # filter out any IPv6 RAs from the capture
             for p in capture:
                 if (p.haslayer(IPv6)):
                     capture.remove(p)
@@ -184,7 +200,7 @@ class TestIPMcast(VppTestCase):
         #
         # A (*,G).
         # one accepting interface, pg0, 7 forwarding interfaces
-        #  many forwarding interfaces test the case where the replicare DPO
+        #  many forwarding interfaces test the case where the replicate DPO
         #  needs to use extra cache lines for the buckets.
         #
         route_232_1_1_1 = VppIpMRoute(
@@ -217,7 +233,7 @@ class TestIPMcast(VppTestCase):
         route_1_1_1_1_232_1_1_1 = VppIpMRoute(
             self,
             "1.1.1.1",
-            "232.1.1.1", 64,
+            "232.1.1.1", 27,  # any grp-len is ok when src is set
             MRouteEntryFlags.MFIB_ENTRY_FLAG_NONE,
             [VppMRoutePath(self.pg0.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_ACCEPT),
@@ -405,17 +421,16 @@ class TestIPMcast(VppTestCase):
             MRouteEntryFlags.MFIB_ENTRY_FLAG_NONE,
             [VppMRoutePath(self.pg0.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_ACCEPT,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg1.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg2.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg3.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6)],
-            is_ip6=1)
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6)])
         route_ff01_1.add_vpp_config()
 
         #
@@ -425,18 +440,17 @@ class TestIPMcast(VppTestCase):
         route_2001_ff01_1 = VppIpMRoute(
             self,
             "2001::1",
-            "ff01::1", 256,
+            "ff01::1", 0,  # any grp-len is ok when src is set
             MRouteEntryFlags.MFIB_ENTRY_FLAG_NONE,
             [VppMRoutePath(self.pg0.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_ACCEPT,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg1.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg2.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6)],
-            is_ip6=1)
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6)])
         route_2001_ff01_1.add_vpp_config()
 
         #
@@ -450,11 +464,10 @@ class TestIPMcast(VppTestCase):
             MRouteEntryFlags.MFIB_ENTRY_FLAG_NONE,
             [VppMRoutePath(self.pg0.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_ACCEPT,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg1.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6)],
-            is_ip6=1)
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6)])
         route_ff01.add_vpp_config()
 
         #
@@ -671,6 +684,7 @@ class TestIPMcast(VppTestCase):
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD)])
 
         route_232_1_1_1.add_vpp_config()
+
         route_232_1_1_1.update_entry_flags(
             MRouteEntryFlags.MFIB_ENTRY_FLAG_SIGNAL)
 
@@ -795,15 +809,14 @@ class TestIPMcast(VppTestCase):
             MRouteEntryFlags.MFIB_ENTRY_FLAG_NONE,
             [VppMRoutePath(self.pg8.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_ACCEPT,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg1.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6),
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6),
              VppMRoutePath(self.pg2.sw_if_index,
                            MRouteItfFlags.MFIB_ITF_FLAG_FORWARD,
-                           proto=DpoProto.DPO_PROTO_IP6)],
-            table_id=10,
-            is_ip6=1)
+                           proto=FibPathProto.FIB_PATH_NH_PROTO_IP6)],
+            table_id=10)
         route_2001_ff01_1.add_vpp_config()
 
         #