summaryrefslogtreecommitdiffstats
path: root/test/patches/scapy-2.4/cdp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'test/patches/scapy-2.4/cdp.patch')
-rw-r--r--test/patches/scapy-2.4/cdp.patch13
1 files changed, 10 insertions, 3 deletions
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: