API refactoring : classify
[vpp.git] / test / test_gre.py
index 59d03e9..b131304 100644 (file)
@@ -12,7 +12,7 @@ from vpp_papi_provider import L2_VTR_OP
 from scapy.packet import Raw
 from scapy.layers.l2 import Ether, Dot1Q, GRE
 from scapy.layers.inet import IP, UDP
-from scapy.layers.inet6 import ICMPv6ND_RA, IPv6
+from scapy.layers.inet6 import IPv6
 from scapy.volatile import RandMAC, RandIP
 
 from util import ppp, ppc
@@ -43,8 +43,7 @@ class TestGRE(VppTestCase):
     def create_stream_ip4(self, src_if, src_ip, dst_ip):
         pkts = []
         for i in range(0, 257):
-            info = self.create_packet_info(src_if.sw_if_index,
-                                           src_if.sw_if_index)
+            info = self.create_packet_info(src_if, src_if)
             payload = self.info_to_payload(info)
             p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) /
                  IP(src=src_ip, dst=dst_ip) /
@@ -59,8 +58,7 @@ class TestGRE(VppTestCase):
                                  src_ip, dst_ip):
         pkts = []
         for i in range(0, 257):
-            info = self.create_packet_info(src_if.sw_if_index,
-                                           src_if.sw_if_index)
+            info = self.create_packet_info(src_if, src_if)
             payload = self.info_to_payload(info)
             p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) /
                  IP(src=tunnel_src, dst=tunnel_dst) /
@@ -77,8 +75,7 @@ class TestGRE(VppTestCase):
                                  src_ip, dst_ip):
         pkts = []
         for i in range(0, 257):
-            info = self.create_packet_info(src_if.sw_if_index,
-                                           src_if.sw_if_index)
+            info = self.create_packet_info(src_if, src_if)
             payload = self.info_to_payload(info)
             p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) /
                  IP(src=tunnel_src, dst=tunnel_dst) /
@@ -94,8 +91,7 @@ class TestGRE(VppTestCase):
                                   tunnel_src, tunnel_dst):
         pkts = []
         for i in range(0, 257):
-            info = self.create_packet_info(src_if.sw_if_index,
-                                           src_if.sw_if_index)
+            info = self.create_packet_info(src_if, src_if)
             payload = self.info_to_payload(info)
             p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) /
                  IP(src=tunnel_src, dst=tunnel_dst) /
@@ -113,8 +109,7 @@ class TestGRE(VppTestCase):
                                     tunnel_src, tunnel_dst, vlan):
         pkts = []
         for i in range(0, 257):
-            info = self.create_packet_info(src_if.sw_if_index,
-                                           src_if.sw_if_index)
+            info = self.create_packet_info(src_if, src_if)
             payload = self.info_to_payload(info)
             p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) /
                  IP(src=tunnel_src, dst=tunnel_dst) /
@@ -129,18 +124,9 @@ class TestGRE(VppTestCase):
             pkts.append(p)
         return pkts
 
-    def verify_filter(self, capture, sent):
-        if not len(capture) == len(sent):
-            # filter out any IPv6 RAs from the capture
-            for p in capture:
-                if (p.haslayer(ICMPv6ND_RA)):
-                    capture.remove(p)
-        return capture
-
     def verify_tunneled_4o4(self, src_if, capture, sent,
                             tunnel_src, tunnel_dst):
 
-        capture = self.verify_filter(capture, sent)
         self.assertEqual(len(capture), len(sent))
 
         for i in range(len(capture)):
@@ -169,7 +155,6 @@ class TestGRE(VppTestCase):
 
     def verify_tunneled_l2o4(self, src_if, capture, sent,
                              tunnel_src, tunnel_dst):
-        capture = self.verify_filter(capture, sent)
         self.assertEqual(len(capture), len(sent))
 
         for i in range(len(capture)):
@@ -203,7 +188,6 @@ class TestGRE(VppTestCase):
     def verify_tunneled_vlano4(self, src_if, capture, sent,
                                tunnel_src, tunnel_dst, vlan):
         try:
-            capture = self.verify_filter(capture, sent)
             self.assertEqual(len(capture), len(sent))
         except:
             ppc("Unexpected packets captured:", capture)
@@ -242,7 +226,6 @@ class TestGRE(VppTestCase):
                 raise
 
     def verify_decapped_4o4(self, src_if, capture, sent):
-        capture = self.verify_filter(capture, sent)
         self.assertEqual(len(capture), len(sent))
 
         for i in range(len(capture)):
@@ -266,7 +249,6 @@ class TestGRE(VppTestCase):
                 raise
 
     def verify_decapped_6o4(self, src_if, capture, sent):
-        capture = self.verify_filter(capture, sent)
         self.assertEqual(len(capture), len(sent))
 
         for i in range(len(capture)):
@@ -355,7 +337,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_tunneled_4o4(self.pg0, rx, tx,
                                  self.pg0.local_ip4, "1.1.1.2")
 
@@ -374,7 +356,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_decapped_4o4(self.pg0, rx, tx)
 
         #
@@ -439,7 +421,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_decapped_6o4(self.pg0, rx, tx)
 
         #
@@ -496,7 +478,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg1.get_capture()
+        rx = self.pg1.get_capture(len(tx))
         self.verify_tunneled_4o4(self.pg1, rx, tx,
                                  self.pg1.local_ip4, "2.2.2.2")
 
@@ -516,7 +498,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_decapped_4o4(self.pg0, rx, tx)
 
         #
@@ -577,7 +559,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_tunneled_l2o4(self.pg0, rx, tx,
                                   self.pg0.local_ip4,
                                   "2.2.2.3")
@@ -591,7 +573,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_tunneled_l2o4(self.pg0, rx, tx,
                                   self.pg0.local_ip4,
                                   "2.2.2.2")
@@ -648,7 +630,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_tunneled_vlano4(self.pg0, rx, tx,
                                     self.pg0.local_ip4,
                                     "2.2.2.3",
@@ -664,7 +646,7 @@ class TestGRE(VppTestCase):
         self.pg_enable_capture(self.pg_interfaces)
         self.pg_start()
 
-        rx = self.pg0.get_capture()
+        rx = self.pg0.get_capture(len(tx))
         self.verify_tunneled_vlano4(self.pg0, rx, tx,
                                     self.pg0.local_ip4,
                                     "2.2.2.2",