X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Ftest%2Ftest_nat.py;h=29fd5ca23c582263f361c01eea43076fd62df9ed;hb=9db6ada779794779158163f6293b479ae7f6ad5e;hp=0864204595857f95d7ab7e67205e1c8466f7c401;hpb=2f71a888993dc9ee958f174d2e456221d7005f60;p=vpp.git diff --git a/src/plugins/nat/test/test_nat.py b/src/plugins/nat/test/test_nat.py index 08642045958..29fd5ca23c5 100644 --- a/src/plugins/nat/test/test_nat.py +++ b/src/plugins/nat/test/test_nat.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import socket import unittest @@ -27,7 +27,6 @@ from io import BytesIO from vpp_papi import VppEnum from vpp_ip_route import VppIpRoute, VppRoutePath, FibPathType from vpp_neighbor import VppNeighbor -from vpp_ip import VppIpAddress, VppIpPrefix from scapy.all import bind_layers, Packet, ByteEnumField, ShortField, \ IPField, IntField, LongField, XByteField, FlagsField, FieldLenField, \ PacketListField @@ -244,7 +243,7 @@ class MethodHolder(VppTestCase): p = (Ether(dst=in_if.local_mac, src=in_if.remote_mac) / IP(src=in_if.remote_ip4, dst=dst_ip, ttl=ttl) / TCP(sport=self.tcp_port_in, dport=20)) - pkts.append(p) + pkts.extend([p, p]) # UDP p = (Ether(dst=in_if.local_mac, src=in_if.remote_mac) / @@ -408,7 +407,7 @@ class MethodHolder(VppTestCase): p = (Ether(dst=out_if.local_mac, src=out_if.remote_mac) / IP(src=out_if.remote_ip4, dst=dst_ip, ttl=ttl) / TCP(dport=tcp_port, sport=20)) - pkts.append(p) + pkts.extend([p, p]) # UDP p = (Ether(dst=out_if.local_mac, src=out_if.remote_mac) / @@ -1502,19 +1501,16 @@ class TestNAT44(MethodHolder): cls.pg1.configure_ipv4_neighbors() cls.overlapping_interfaces = list(list(cls.pg_interfaces[4:7])) - cls.vapi.ip_table_add_del(is_add=1, table_id=10) - cls.vapi.ip_table_add_del(is_add=1, table_id=20) + cls.vapi.ip_table_add_del(is_add=1, table={'table_id': 10}) + cls.vapi.ip_table_add_del(is_add=1, table={'table_id': 20}) - cls.pg4._local_ip4 = VppIpPrefix("172.16.255.1", - cls.pg4.local_ip4_prefix.len) + cls.pg4._local_ip4 = "172.16.255.1" cls.pg4._remote_hosts[0]._ip4 = "172.16.255.2" cls.pg4.set_table_ip4(10) - cls.pg5._local_ip4 = VppIpPrefix("172.17.255.3", - cls.pg5.local_ip4_prefix.len) + cls.pg5._local_ip4 = "172.17.255.3" cls.pg5._remote_hosts[0]._ip4 = "172.17.255.4" cls.pg5.set_table_ip4(10) - cls.pg6._local_ip4 = VppIpPrefix("172.16.255.1", - cls.pg6.local_ip4_prefix.len) + cls.pg6._local_ip4 = "172.16.255.1" cls.pg6._remote_hosts[0]._ip4 = "172.16.255.2" cls.pg6.set_table_ip4(20) for i in cls.overlapping_interfaces: @@ -1529,7 +1525,7 @@ class TestNAT44(MethodHolder): cls.pg9.config_ip4() cls.vapi.sw_interface_add_del_address( sw_if_index=cls.pg9.sw_if_index, - prefix=VppIpPrefix("10.0.0.1", 24).encode()) + prefix="10.0.0.1/24") cls.pg9.admin_up() cls.pg9.resolve_arp() @@ -1575,7 +1571,7 @@ class TestNAT44(MethodHolder): err = self.statistics.get_err_counter( '/err/nat44-in2out-slowpath/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter( '/err/nat44-in2out-slowpath/UDP packets') self.assertEqual(err - udpn, 1) @@ -1584,7 +1580,7 @@ class TestNAT44(MethodHolder): self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat44-in2out-slowpath/good in2out packets processed') - self.assertEqual(err - totaln, 3) + self.assertEqual(err - totaln, 4) # out2in tcpn = self.statistics.get_err_counter('/err/nat44-out2in/TCP packets') @@ -1602,14 +1598,14 @@ class TestNAT44(MethodHolder): self.verify_capture_in(capture, self.pg0) err = self.statistics.get_err_counter('/err/nat44-out2in/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter('/err/nat44-out2in/UDP packets') self.assertEqual(err - udpn, 1) err = self.statistics.get_err_counter('/err/nat44-out2in/ICMP packets') self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat44-out2in/good out2in packets processed') - self.assertEqual(err - totaln, 3) + self.assertEqual(err - totaln, 4) users = self.statistics.get_counter('/nat44/total-users') self.assertEqual(users[0][0], 1) @@ -3053,8 +3049,8 @@ class TestNAT44(MethodHolder): self.pg0.unconfig_ip4() self.pg1.unconfig_ip4() - self.vapi.ip_table_add_del(is_add=1, table_id=vrf_id1) - self.vapi.ip_table_add_del(is_add=1, table_id=vrf_id2) + self.vapi.ip_table_add_del(is_add=1, table={'table_id': vrf_id1}) + self.vapi.ip_table_add_del(is_add=1, table={'table_id': vrf_id2}) self.pg0.set_table_ip4(vrf_id1) self.pg1.set_table_ip4(vrf_id2) self.pg0.config_ip4() @@ -3101,8 +3097,8 @@ class TestNAT44(MethodHolder): self.pg1.config_ip4() self.pg0.resolve_arp() self.pg1.resolve_arp() - self.vapi.ip_table_add_del(is_add=0, table_id=vrf_id1) - self.vapi.ip_table_add_del(is_add=0, table_id=vrf_id2) + self.vapi.ip_table_add_del(is_add=0, table={'table_id': vrf_id1}) + self.vapi.ip_table_add_del(is_add=0, table={'table_id': vrf_id2}) def test_vrf_feature_independent(self): """ NAT44 tenant VRF independent address pool mode """ @@ -3892,8 +3888,8 @@ class TestNAT44(MethodHolder): self.pg1.unconfig_ip4() self.pg2.unconfig_ip4() - self.vapi.ip_table_add_del(is_add=1, table_id=vrf_id1) - self.vapi.ip_table_add_del(is_add=1, table_id=vrf_id2) + self.vapi.ip_table_add_del(is_add=1, table={'table_id': vrf_id1}) + self.vapi.ip_table_add_del(is_add=1, table={'table_id': vrf_id2}) self.pg1.set_table_ip4(vrf_id1) self.pg2.set_table_ip4(vrf_id2) self.pg1.config_ip4() @@ -4431,7 +4427,7 @@ class TestNAT44EndpointDependent(MethodHolder): cls.pg4.config_ip4() cls.vapi.sw_interface_add_del_address( sw_if_index=cls.pg4.sw_if_index, - prefix=VppIpPrefix("10.0.0.1", 24).encode()) + prefix="10.0.0.1/24") cls.pg4.admin_up() cls.pg4.resolve_arp() @@ -4439,10 +4435,9 @@ class TestNAT44EndpointDependent(MethodHolder): cls.pg4.resolve_arp() zero_ip4 = socket.inet_pton(socket.AF_INET, "0.0.0.0") - cls.vapi.ip_table_add_del(is_add=1, table_id=1) + cls.vapi.ip_table_add_del(is_add=1, table={'table_id': 1}) - cls.pg5._local_ip4 = VppIpPrefix("10.1.1.1", - cls.pg5.local_ip4_prefix.len) + cls.pg5._local_ip4 = "10.1.1.1" cls.pg5._remote_hosts[0]._ip4 = "10.1.1.2" cls.pg5.set_table_ip4(1) cls.pg5.config_ip4() @@ -4454,8 +4449,7 @@ class TestNAT44EndpointDependent(MethodHolder): register=False) r1.add_vpp_config() - cls.pg6._local_ip4 = VppIpPrefix("10.1.2.1", - cls.pg6.local_ip4_prefix.len) + cls.pg6._local_ip4 = "10.1.2.1" cls.pg6._remote_hosts[0]._ip4 = "10.1.2.2" cls.pg6.set_table_ip4(1) cls.pg6.config_ip4() @@ -4727,7 +4721,7 @@ class TestNAT44EndpointDependent(MethodHolder): err = self.statistics.get_err_counter( '/err/nat44-ed-in2out-slowpath/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter( '/err/nat44-ed-in2out-slowpath/UDP packets') self.assertEqual(err - udpn, 1) @@ -4736,7 +4730,7 @@ class TestNAT44EndpointDependent(MethodHolder): self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat44-ed-in2out-slowpath/good in2out packets processed') - self.assertEqual(err - totaln, 3) + self.assertEqual(err - totaln, 4) # out2in tcpn = self.statistics.get_err_counter( @@ -4757,7 +4751,7 @@ class TestNAT44EndpointDependent(MethodHolder): err = self.statistics.get_err_counter( '/err/nat44-ed-out2in/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter( '/err/nat44-ed-out2in/UDP packets') self.assertEqual(err - udpn, 1) @@ -4766,7 +4760,7 @@ class TestNAT44EndpointDependent(MethodHolder): self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat44-ed-out2in/good out2in packets processed') - self.assertEqual(err - totaln, 2) + self.assertEqual(err - totaln, 3) users = self.statistics.get_counter('/nat44/total-users') self.assertEqual(users[0][0], 1) @@ -4789,7 +4783,8 @@ class TestNAT44EndpointDependent(MethodHolder): is_add=1) try: - self.vapi.ip_table_add_del(is_add=1, table_id=new_vrf_id) + self.vapi.ip_table_add_del(is_add=1, + table={'table_id': new_vrf_id}) self.pg7.unconfig_ip4() self.pg7.set_table_ip4(new_vrf_id) @@ -4823,7 +4818,7 @@ class TestNAT44EndpointDependent(MethodHolder): err = self.statistics.get_err_counter( '/err/nat44-ed-in2out-slowpath/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter( '/err/nat44-ed-in2out-slowpath/UDP packets') self.assertEqual(err - udpn, 1) @@ -4832,7 +4827,7 @@ class TestNAT44EndpointDependent(MethodHolder): self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat44-ed-in2out-slowpath/good in2out packets processed') - self.assertEqual(err - totaln, 3) + self.assertEqual(err - totaln, 4) # out2in tcpn = self.statistics.get_err_counter( @@ -4853,7 +4848,7 @@ class TestNAT44EndpointDependent(MethodHolder): err = self.statistics.get_err_counter( '/err/nat44-ed-out2in/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter( '/err/nat44-ed-out2in/UDP packets') self.assertEqual(err - udpn, 1) @@ -4862,7 +4857,7 @@ class TestNAT44EndpointDependent(MethodHolder): self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat44-ed-out2in/good out2in packets processed') - self.assertEqual(err - totaln, 2) + self.assertEqual(err - totaln, 3) users = self.statistics.get_counter('/nat44/total-users') self.assertEqual(users[0][0], 1) @@ -4880,7 +4875,8 @@ class TestNAT44EndpointDependent(MethodHolder): self.pg8.config_ip4() self.pg8.resolve_arp() - self.vapi.ip_table_add_del(is_add=0, table_id=new_vrf_id) + self.vapi.ip_table_add_del(is_add=0, + table={'table_id': new_vrf_id}) def test_forwarding(self): """ NAT44 forwarding test """ @@ -7777,8 +7773,9 @@ class TestNAT64(MethodHolder): cls.ip6_interfaces.append(cls.pg_interfaces[2]) cls.ip4_interfaces = list(cls.pg_interfaces[1:2]) - cls.vapi.ip_table_add_del(is_ipv6=1, is_add=1, - table_id=cls.vrf1_id) + cls.vapi.ip_table_add_del(is_add=1, + table={'table_id': cls.vrf1_id, + 'is_ip6': 1}) cls.pg_interfaces[2].set_table_ip6(cls.vrf1_id) @@ -8034,14 +8031,14 @@ class TestNAT64(MethodHolder): self.verify_capture_in_ip6(capture, ip[IPv6].src, self.pg0.remote_ip6) err = self.statistics.get_err_counter('/err/nat64-out2in/TCP packets') - self.assertEqual(err - tcpn, 1) + self.assertEqual(err - tcpn, 2) err = self.statistics.get_err_counter('/err/nat64-out2in/UDP packets') self.assertEqual(err - udpn, 1) err = self.statistics.get_err_counter('/err/nat64-out2in/ICMP packets') self.assertEqual(err - icmpn, 1) err = self.statistics.get_err_counter( '/err/nat64-out2in/good out2in packets processed') - self.assertEqual(err - totaln, 3) + self.assertEqual(err - totaln, 4) bibs = self.statistics.get_counter('/nat64/total-bibs') self.assertEqual(bibs[0][0], 3)