blob: 324891500d523eb5eb82712e95b6b881b6bc9369 [file] [log] [blame]
diff --git a/scapy/contrib/cdp.py b/scapy/contrib/cdp.py
index c8b7f106..7b1ff64d 100644
--- a/scapy/contrib/cdp.py
+++ b/scapy/contrib/cdp.py
@@ -102,7 +102,8 @@ def _CDPGuessPayloadClass(p, **kargs):
class CDPMsgGeneric(Packet):
name = "CDP Generic Message"
fields_desc = [ XShortEnumField("type", None, _cdp_tlv_types),
- FieldLenField("len", None, "val", "!H"),
+ FieldLenField("len", None, "val", "!H",
+ adjust=lambda pkt, x: x + 4),
StrLenField("val", "", length_from=lambda x:x.len - 4) ]
@@ -178,7 +179,8 @@ class CDPMsgAddr(CDPMsgGeneric):
class CDPMsgPortID(CDPMsgGeneric):
name = "Port ID"
fields_desc = [ XShortEnumField("type", 0x0003, _cdp_tlv_types),
- FieldLenField("len", None, "iface", "!H"),
+ FieldLenField("len", None, "iface", "!H",
+ adjust=lambda pkt, x: x + 4),
StrLenField("iface", "Port 1", length_from=lambda x:x.len - 4) ]