Revert "Revert "ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums""
[vpp.git] / test / test_ipsec_nat.py
index 9c22fbb..7a5aca6 100644 (file)
@@ -84,29 +84,10 @@ class IPSecNATTestCase(VppTestCase):
                        ICMP(id=self.icmp_id_out, type='echo-request'))
         ]
 
-    def check_checksum(self, pkt, layer):
-        """ Check checksum of the packet on given layer """
-        new = pkt.__class__(str(pkt))
-        del new[layer].chksum
-        new = new.__class__(str(new))
-        self.assertEqual(new[layer].chksum, pkt[layer].chksum)
-
-    def check_ip_checksum(self, pkt):
-        return self.check_checksum(pkt, 'IP')
-
-    def check_tcp_checksum(self, pkt):
-        return self.check_checksum(pkt, 'TCP')
-
-    def check_udp_checksum(self, pkt):
-        return self.check_checksum(pkt, 'UDP')
-
-    def check_icmp_checksum(self, pkt):
-        return self.check_checksum(pkt, 'ICMP')
-
     def verify_capture_plain(self, capture):
         for packet in capture:
             try:
-                self.check_ip_checksum(packet)
+                self.assert_packet_checksums_valid(packet)
                 self.assert_equal(packet[IP].src, self.pg0.remote_ip4,
                                   "decrypted packet source address")
                 self.assert_equal(packet[IP].dst, self.pg1.remote_ip4,
@@ -117,7 +98,6 @@ class IPSecNATTestCase(VppTestCase):
                         "unexpected UDP header in decrypted packet")
                     self.assert_equal(packet[TCP].dport, self.tcp_port_in,
                                       "decrypted packet TCP destination port")
-                    self.check_tcp_checksum(packet)
                 elif packet.haslayer(UDP):
                     if packet[UDP].payload:
                         self.assertFalse(
@@ -131,7 +111,6 @@ class IPSecNATTestCase(VppTestCase):
                         "unexpected UDP header in decrypted packet")
                     self.assert_equal(packet[ICMP].id, self.icmp_id_in,
                                       "decrypted packet ICMP ID")
-                    self.check_icmp_checksum(packet)
             except Exception:
                 self.logger.error(
                     ppp("Unexpected or invalid plain packet:", packet))
@@ -162,17 +141,17 @@ class IPSecNATTestCase(VppTestCase):
         spd_id = 1
         remote_sa_id = 10
         local_sa_id = 20
-        remote_tun_spi = 1001
-        local_tun_spi = 1000
+        scapy_tun_spi = 1001
+        vpp_tun_spi = 1000
         client = socket.inet_pton(socket.AF_INET, cls.remote_pg0_client_addr)
         cls.vapi.ip_add_del_route(client, 32, cls.pg0.remote_ip4n)
-        cls.vapi.ipsec_sad_add_del_entry(remote_sa_id, remote_tun_spi,
+        cls.vapi.ipsec_sad_add_del_entry(remote_sa_id, scapy_tun_spi,
                                          cls.pg1.remote_ip4n,
                                          cls.pg0.remote_ip4n,
                                          integrity_key_length=20,
                                          crypto_key_length=16,
                                          protocol=1, udp_encap=1)
-        cls.vapi.ipsec_sad_add_del_entry(local_sa_id, local_tun_spi,
+        cls.vapi.ipsec_sad_add_del_entry(local_sa_id, vpp_tun_spi,
                                          cls.pg0.remote_ip4n,
                                          cls.pg1.remote_ip4n,
                                          integrity_key_length=20,