Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 3112] CDP Checksum Calculation Incorrect

Date: Mon, 5 Jan 2009 15:00:43 -0800 (PST)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3112





--- Comment #28 from Sake <sake@xxxxxxxxxx>  2009-01-05 15:00:42 PDT ---
(In reply to comment #27)
> Hmmm...
> 
> http://www.cisco.com/en/US/docs/switches/lan/catalyst2900xl_3500xl/catalyst1900_2820/version9.00.00/relnotes/r1023104.html
> 
> "The CDP checksum algorithm was changed to be compatible with the Cisco IOS
> software. Previously, when a CDP packet has an odd number of bytes and the
> value of the last byte is greater than 0x80, the device sending the packet is
> not recognized as a neighbor."
> 
> Sounds related...

It does seem related indeed. I picked one CDP update and changed the last byte
to 01 (instead of FE). I then recalculated the checksum with wireshark (with
the patch included) and changed the checksum accordingly. 

When I fire that crafted packet to my switch, it IS accepted indeed.

So...

It looks like when the last byte is greater than 0x80 and the packet length is
odd, the checksum should be primed with -1 instead of 0


-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.