make test: unify packet checksum verifications

Change-Id: If9cc7c5e32ebecff398fd38b39e8f485754a4ad4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
This commit is contained in:
Klement Sekera
2018-05-16 10:52:54 +02:00
committed by Damjan Marion
parent ee6ddceaf5
commit d81ae41825
3 changed files with 151 additions and 256 deletions

View 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))