diff options
author | Klement Sekera <ksekera@cisco.com> | 2018-06-24 22:49:55 +0200 |
---|---|---|
committer | Klement Sekera <ksekera@cisco.com> | 2018-06-24 22:53:37 +0200 |
commit | 31da2e30317bc1fcb4586e1dc0d560600d9b29d3 (patch) | |
tree | 4c025f26e8aa9e4f6499144deea9028154b63fe0 /test/framework.py | |
parent | 2a8d02df15e71881754bab0bb16b85ccd65f8f74 (diff) |
Revert "Revert "ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums""
This reverts commit e0d2bd6bd7fc59c0c6ac48195d7f825dc99bfd91.
Change-Id: If491e16f9ea66b2493a6a7c7f3c684ed585f8f51
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Diffstat (limited to 'test/framework.py')
-rw-r--r-- | test/framework.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/test/framework.py b/test/framework.py index f90197b9b6f..be8c209f4ea 100644 --- a/test/framework.py +++ b/test/framework.py @@ -25,6 +25,7 @@ from vpp_papi_provider import VppPapiProvider from log import RED, GREEN, YELLOW, double_line_delim, single_line_delim, \ getLogger, colorize from vpp_object import VppObjectRegistry +from util import ppp from scapy.layers.inet import IPerror, TCPerror, UDPerror, ICMPerror from scapy.layers.inet6 import ICMPv6DestUnreach, ICMPv6EchoRequest from scapy.layers.inet6 import ICMPv6EchoReply @@ -735,11 +736,14 @@ class VppTestCase(unittest.TestCase): def assert_packet_checksums_valid(self, packet, ignore_zero_udp_checksums=True): + received = packet.__class__(str(packet)) + self.logger.debug( + ppp("Verifying packet checksums for packet:", received)) udp_layers = ['UDP', 'UDPerror'] checksum_fields = ['cksum', 'chksum'] checksums = [] counter = 0 - temp = packet.__class__(str(packet)) + temp = received.__class__(str(received)) while True: layer = temp.getlayer(counter) if layer: @@ -754,12 +758,17 @@ class VppTestCase(unittest.TestCase): else: break counter = counter + 1 + if 0 == len(checksums): + return temp = temp.__class__(str(temp)) for layer, cf in checksums: - self.assert_equal(getattr(packet[layer], cf), - getattr(temp[layer], cf), - "packet checksum on layer #%d: %s" % ( - layer, temp[layer].name)) + calc_sum = getattr(temp[layer], cf) + self.assert_equal( + getattr(received[layer], cf), calc_sum, + "packet checksum on layer #%d: %s" % (layer, temp[layer].name)) + self.logger.debug( + "Checksum field `%s` on `%s` layer has correct value `%s`" % + (cf, temp[layer].name, calc_sum)) def assert_checksum_valid(self, received_packet, layer, field_name='chksum', |