From 2a884db1d10656d2df759a23366dabd4b72bf37c Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Wed, 23 Oct 2019 11:24:23 +0200 Subject: cdp: re-enable skipped tests for python3 CDP uses the running sytems host name, which caused different failures on different systems. The root cause was an python3 specific error in checksum calculation. Type: fix Signed-off-by: Ole Troan Change-Id: I205436682d46e7e8cbb8c057c03a76dbbcab4d72 --- test/patches/scapy-2.4/cdp.patch | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'test/patches') diff --git a/test/patches/scapy-2.4/cdp.patch b/test/patches/scapy-2.4/cdp.patch index 324891500d5..de16f5d5079 100644 --- a/test/patches/scapy-2.4/cdp.patch +++ b/test/patches/scapy-2.4/cdp.patch @@ -12,7 +12,7 @@ index c8b7f106..7b1ff64d 100644 StrLenField("val", "", length_from=lambda x:x.len - 4) ] -@@ -178,7 +179,8 @@ class CDPMsgAddr(CDPMsgGeneric): +@@ -178,5 +179,6 @@ class CDPMsgAddr(CDPMsgGeneric): class CDPMsgPortID(CDPMsgGeneric): name = "Port ID" fields_desc = [ XShortEnumField("type", 0x0003, _cdp_tlv_types), @@ -20,5 +20,12 @@ index c8b7f106..7b1ff64d 100644 + FieldLenField("len", None, "iface", "!H", + adjust=lambda pkt, x: x + 4), StrLenField("iface", "Port 1", length_from=lambda x:x.len - 4) ] - - +@@ -319,7 +319,7 @@ class _CDPChecksum: + This padding is only used for checksum computation. The original + packet should not be altered.""" + if len(pkt) % 2: +- last_chr = pkt[-1] ++ last_chr = pkt[len(pkt)-1:] + if last_chr <= b'\x80': + return pkt[:-1] + b'\x00' + last_chr + else: -- cgit 1.2.3-korg