diff options
Diffstat (limited to 'test/patches/scapy-2.4/cdp.patch')
-rw-r--r-- | test/patches/scapy-2.4/cdp.patch | 13 |
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: |