test framework: vpp_papi_provider.py - further cleanup
[vpp.git] / test / test_sixrd.py
index 7656c3f..ffd5864 100644 (file)
@@ -6,7 +6,8 @@ from scapy.layers.inet import IP, UDP, Ether
 from scapy.layers.inet6 import IPv6
 from scapy.packet import Raw
 from framework import VppTestCase, VppTestRunner
 from scapy.layers.inet6 import IPv6
 from scapy.packet import Raw
 from framework import VppTestCase, VppTestRunner
-from vpp_ip_route import VppIpRoute, VppRoutePath, DpoProto, VppIpTable
+from vpp_ip import DpoProto
+from vpp_ip_route import VppIpRoute, VppRoutePath, VppIpTable
 from socket import AF_INET, AF_INET6, inet_pton
 
 """ Test6rd is a subclass of  VPPTestCase classes.
 from socket import AF_INET, AF_INET6, inet_pton
 
 """ Test6rd is a subclass of  VPPTestCase classes.
@@ -71,9 +72,9 @@ class Test6RD(VppTestCase):
         if IP in rx:
             self.fail()
 
         if IP in rx:
             self.fail()
 
-        self.assertTrue(rx[IPv6].src == expected[IPv6].src)
-        self.assertTrue(rx[IPv6].dst == expected[IPv6].dst)
-        self.assertTrue(rx[IPv6].nh == expected[IPv6].nh)
+        self.assertEqual(rx[IPv6].src, expected[IPv6].src)
+        self.assertEqual(rx[IPv6].dst, expected[IPv6].dst)
+        self.assertEqual(rx[IPv6].nh, expected[IPv6].nh)
 
     def payload(self, len):
         return 'x' * len
 
     def payload(self, len):
         return 'x' * len
@@ -83,10 +84,9 @@ class Test6RD(VppTestCase):
         p_ether = Ether(src=self.pg0.remote_mac, dst=self.pg0.local_mac)
         p_ip6 = IPv6(src="1::1", dst="2002:AC10:0202::1", nh='UDP')
 
         p_ether = Ether(src=self.pg0.remote_mac, dst=self.pg0.local_mac)
         p_ip6 = IPv6(src="1::1", dst="2002:AC10:0202::1", nh='UDP')
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg0.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
 
         self.vapi.cli("show ip6 fib")
         self.tunnel_index = rv.sw_if_index
 
         self.vapi.cli("show ip6 fib")
@@ -96,7 +96,7 @@ class Test6RD(VppTestCase):
         p_reply = (IP(src=self.pg0.local_ip4, dst=self.pg1.remote_ip4,
                       proto='ipv6') / p_ip6)
 
         p_reply = (IP(src=self.pg0.local_ip4, dst=self.pg1.remote_ip4,
                       proto='ipv6') / p_ip6)
 
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_6in4(p, p_reply)
 
         for p in rx:
             self.validate_6in4(p, p_reply)
 
@@ -109,7 +109,7 @@ class Test6RD(VppTestCase):
         p_reply = (IP(src=self.pg0.local_ip4, dst=self.pg1.remote_ip4,
                       proto='ipv6') / p_ip6)
 
         p_reply = (IP(src=self.pg0.local_ip4, dst=self.pg1.remote_ip4,
                       proto='ipv6') / p_ip6)
 
-        rx = self.send_and_assert_no_replies(self.pg0, p*10)
+        rx = self.send_and_assert_no_replies(self.pg0, p * 10)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
 
     def test_6rd_ip6_to_ip4_vrf(self):
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
 
     def test_6rd_ip6_to_ip4_vrf(self):
@@ -117,10 +117,10 @@ class Test6RD(VppTestCase):
         p_ether = Ether(src=self.pg2.remote_mac, dst=self.pg2.local_mac)
         p_ip6 = IPv6(src="1::1", dst="2002:AC10:0402::1", nh='UDP')
 
         p_ether = Ether(src=self.pg2.remote_mac, dst=self.pg2.local_mac)
         p_ip6 = IPv6(src="1::1", dst="2002:AC10:0402::1", nh='UDP')
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            20, inet_pton(AF_INET6, '2002::'), 16,
-            10, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg2.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(20, 10,
+                                           inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg2.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
 
         self.vapi.cli("show ip6 fib")
         self.tunnel_index = rv.sw_if_index
 
         self.vapi.cli("show ip6 fib")
@@ -130,7 +130,7 @@ class Test6RD(VppTestCase):
         p_reply = (IP(src=self.pg2.local_ip4, dst=self.pg3.remote_ip4,
                       proto='ipv6') / p_ip6)
 
         p_reply = (IP(src=self.pg2.local_ip4, dst=self.pg3.remote_ip4,
                       proto='ipv6') / p_ip6)
 
-        rx = self.send_and_expect(self.pg2, p*10, self.pg3)
+        rx = self.send_and_expect(self.pg2, p * 10, self.pg3)
         for p in rx:
             self.validate_6in4(p, p_reply)
 
         for p in rx:
             self.validate_6in4(p, p_reply)
 
@@ -143,22 +143,20 @@ class Test6RD(VppTestCase):
         p_reply = (IP(src=self.pg2.local_ip4, dst=self.pg3.remote_ip4,
                       proto='ipv6') / p_ip6)
 
         p_reply = (IP(src=self.pg2.local_ip4, dst=self.pg3.remote_ip4,
                       proto='ipv6') / p_ip6)
 
-        rx = self.send_and_assert_no_replies(self.pg0, p*10)
+        rx = self.send_and_assert_no_replies(self.pg0, p * 10)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
 
     def test_6rd_ip4_to_ip6(self):
         """ ip4 -> ip6 (decap) 6rd test """
 
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
 
     def test_6rd_ip4_to_ip6(self):
         """ ip4 -> ip6 (decap) 6rd test """
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg0.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
         rv = self.vapi.ipip_6rd_del_tunnel(rv.sw_if_index)
         self.tunnel_index = rv.sw_if_index
         rv = self.vapi.ipip_6rd_del_tunnel(rv.sw_if_index)
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg0.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
 
         p_ip6 = (IPv6(src="2002:AC10:0202::1", dst=self.pg1.remote_ip6) /
         self.tunnel_index = rv.sw_if_index
 
         p_ip6 = (IPv6(src="2002:AC10:0202::1", dst=self.pg1.remote_ip6) /
@@ -171,7 +169,7 @@ class Test6RD(VppTestCase):
 
         p_reply = p_ip6
 
 
         p_reply = p_ip6
 
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_4in6(p, p_reply)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
         for p in rx:
             self.validate_4in6(p, p_reply)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
@@ -179,16 +177,16 @@ class Test6RD(VppTestCase):
     def test_6rd_ip4_to_ip6_vrf(self):
         """ ip4 -> ip6 (decap) 6rd VRF test """
 
     def test_6rd_ip4_to_ip6_vrf(self):
         """ ip4 -> ip6 (decap) 6rd VRF test """
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            20, inet_pton(AF_INET6, '2002::'), 16,
-            10, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg2.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(20, 10,
+                                           inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg2.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
         rv = self.vapi.ipip_6rd_del_tunnel(rv.sw_if_index)
         self.tunnel_index = rv.sw_if_index
         rv = self.vapi.ipip_6rd_del_tunnel(rv.sw_if_index)
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            20, inet_pton(AF_INET6, '2002::'), 16,
-            10, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg2.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(20, 10,
+                                           inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg2.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
         self.vapi.sw_interface_set_table(self.tunnel_index, 1, 20)
 
         self.tunnel_index = rv.sw_if_index
         self.vapi.sw_interface_set_table(self.tunnel_index, 1, 20)
 
@@ -202,7 +200,7 @@ class Test6RD(VppTestCase):
 
         p_reply = p_ip6
 
 
         p_reply = p_ip6
 
-        rx = self.send_and_expect(self.pg2, p*10, self.pg3)
+        rx = self.send_and_expect(self.pg2, p * 10, self.pg3)
         for p in rx:
             self.validate_4in6(p, p_reply)
         self.vapi.sw_interface_set_table(self.tunnel_index, 1, 0)
         for p in rx:
             self.validate_4in6(p, p_reply)
         self.vapi.sw_interface_set_table(self.tunnel_index, 1, 0)
@@ -212,16 +210,14 @@ class Test6RD(VppTestCase):
         """ ip4 -> ip6 (decap) 6rd test """
 
         self.tunnel_index = []
         """ ip4 -> ip6 (decap) 6rd test """
 
         self.tunnel_index = []
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg0.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 0, True)
         self.tunnel_index.append(rv.sw_if_index)
 
         self.tunnel_index.append(rv.sw_if_index)
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2003::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg1.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2003::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg1.local_ip4n, 16, 0, True)
         self.tunnel_index.append(rv.sw_if_index)
 
         self.vapi.cli("show ip6 fib")
         self.tunnel_index.append(rv.sw_if_index)
 
         self.vapi.cli("show ip6 fib")
@@ -233,12 +229,12 @@ class Test6RD(VppTestCase):
                    UDP(sport=1234, dport=1234))
 
         p = (p_ether / p_ip4 / p_ip6_1)
                    UDP(sport=1234, dport=1234))
 
         p = (p_ether / p_ip4 / p_ip6_1)
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_4in6(p, p_ip6_1)
 
         p = (p_ether / p_ip4 / p_ip6_2)
         for p in rx:
             self.validate_4in6(p, p_ip6_1)
 
         p = (p_ether / p_ip4 / p_ip6_2)
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_4in6(p, p_ip6_2)
         for i in self.tunnel_index:
         for p in rx:
             self.validate_4in6(p, p_ip6_2)
         for i in self.tunnel_index:
@@ -247,10 +243,9 @@ class Test6RD(VppTestCase):
     def test_6rd_ip4_to_ip6_suffix(self):
         """ ip4 -> ip6 (decap) 6rd test """
 
     def test_6rd_ip4_to_ip6_suffix(self):
         """ ip4 -> ip6 (decap) 6rd test """
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '172.0.0.0'), 8,
-            self.pg0.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '172.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 8, True)
 
         self.tunnel_index = rv.sw_if_index
 
 
         self.tunnel_index = rv.sw_if_index
 
@@ -261,7 +256,7 @@ class Test6RD(VppTestCase):
                  UDP(sport=1234, dport=1234))
 
         p = (p_ether / p_ip4 / p_ip6)
                  UDP(sport=1234, dport=1234))
 
         p = (p_ether / p_ip4 / p_ip6)
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_4in6(p, p_ip6)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
         for p in rx:
             self.validate_4in6(p, p_ip6)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
@@ -269,10 +264,9 @@ class Test6RD(VppTestCase):
     def test_6rd_ip4_to_ip6_sec_check(self):
         """ ip4 -> ip6 (decap) security check 6rd test """
 
     def test_6rd_ip4_to_ip6_sec_check(self):
         """ ip4 -> ip6 (decap) security check 6rd test """
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg0.local_ip4n, True)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 0, True)
         self.tunnel_index = rv.sw_if_index
 
         self.vapi.cli("show ip6 fib")
         self.tunnel_index = rv.sw_if_index
 
         self.vapi.cli("show ip6 fib")
@@ -288,7 +282,7 @@ class Test6RD(VppTestCase):
 
         p_reply = p_ip6
 
 
         p_reply = p_ip6
 
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_4in6(p, p_reply)
 
         for p in rx:
             self.validate_4in6(p, p_reply)
 
@@ -296,16 +290,15 @@ class Test6RD(VppTestCase):
                    dst=self.pg0.local_mac) /
              IP(src=self.pg1.remote_ip4, dst=self.pg0.local_ip4) /
              p_ip6_fail)
                    dst=self.pg0.local_mac) /
              IP(src=self.pg1.remote_ip4, dst=self.pg0.local_ip4) /
              p_ip6_fail)
-        rx = self.send_and_assert_no_replies(self.pg0, p*10)
+        rx = self.send_and_assert_no_replies(self.pg0, p * 10)
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
 
     def test_6rd_bgp_tunnel(self):
         """ 6rd BGP tunnel """
 
         self.vapi.ipip_6rd_del_tunnel(self.tunnel_index)
 
     def test_6rd_bgp_tunnel(self):
         """ 6rd BGP tunnel """
 
-        rv = self.vapi.ipip_6rd_add_tunnel(
-            0, inet_pton(AF_INET6, '2002::'), 16,
-            0, inet_pton(AF_INET, '0.0.0.0'), 0,
-            self.pg0.local_ip4n, False)
+        rv = self.vapi.ipip_6rd_add_tunnel(0, 0, inet_pton(AF_INET6, '2002::'),
+                                           inet_pton(AF_INET, '0.0.0.0'),
+                                           self.pg0.local_ip4n, 16, 0, False)
         self.tunnel_index = rv.sw_if_index
 
         default_route = VppIpRoute(
         self.tunnel_index = rv.sw_if_index
 
         default_route = VppIpRoute(
@@ -329,7 +322,7 @@ class Test6RD(VppTestCase):
                       proto='ipv6') /
                    IPv6(src='1::1', dst='DEAD:BEEF::1', nh='UDP'))
 
                       proto='ipv6') /
                    IPv6(src='1::1', dst='DEAD:BEEF::1', nh='UDP'))
 
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_6in4(p, p_reply)
 
         for p in rx:
             self.validate_6in4(p, p_reply)
 
@@ -343,7 +336,7 @@ class Test6RD(VppTestCase):
 
         p_reply = p_ip6
 
 
         p_reply = p_ip6
 
-        rx = self.send_and_expect(self.pg0, p*10, self.pg1)
+        rx = self.send_and_expect(self.pg0, p * 10, self.pg1)
         for p in rx:
             self.validate_4in6(p, p_reply)
         ip4_route.remove_vpp_config()
         for p in rx:
             self.validate_4in6(p, p_reply)
         ip4_route.remove_vpp_config()