X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_sixrd.py;h=ffd5864d5b3f35776a1e57b9dd8be19198178a67;hb=9a475373ed9b1ff9952acc06353ddaa50c2c96bd;hp=7656c3f4e7cdd23a81b46e615cbda44ce43d1554;hpb=6150211538ef37e317a1a68cd4d8f169d87becd2;p=vpp.git diff --git a/test/test_sixrd.py b/test/test_sixrd.py index 7656c3f4e7c..ffd5864d5b3 100644 --- a/test/test_sixrd.py +++ b/test/test_sixrd.py @@ -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 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. @@ -71,9 +72,9 @@ class Test6RD(VppTestCase): 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 @@ -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') - 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") @@ -96,7 +96,7 @@ class Test6RD(VppTestCase): 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) @@ -109,7 +109,7 @@ class Test6RD(VppTestCase): 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): @@ -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') - 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") @@ -130,7 +130,7 @@ class Test6RD(VppTestCase): 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) @@ -143,22 +143,20 @@ class Test6RD(VppTestCase): 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 """ - 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) - 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) / @@ -171,7 +169,7 @@ class Test6RD(VppTestCase): 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) @@ -179,16 +177,16 @@ class Test6RD(VppTestCase): 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) - 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) @@ -202,7 +200,7 @@ class Test6RD(VppTestCase): 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) @@ -212,16 +210,14 @@ class Test6RD(VppTestCase): """ 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) - 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") @@ -233,12 +229,12 @@ class Test6RD(VppTestCase): 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) - 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: @@ -247,10 +243,9 @@ class Test6RD(VppTestCase): 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 @@ -261,7 +256,7 @@ class Test6RD(VppTestCase): 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) @@ -269,10 +264,9 @@ class Test6RD(VppTestCase): 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") @@ -288,7 +282,7 @@ class Test6RD(VppTestCase): 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) @@ -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) - 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 """ - 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( @@ -329,7 +322,7 @@ class Test6RD(VppTestCase): 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) @@ -343,7 +336,7 @@ class Test6RD(VppTestCase): 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()