mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 01:02:19 +02:00
Add explanation for CDP checksum algorithm
This commit is contained in:
@@ -829,7 +829,10 @@ static ushort CDP_compute_csum(const uchar *buff, ushort len)
|
||||
}
|
||||
if (len) {
|
||||
leftover = (signed short)(*(const signed char *)buff);
|
||||
/* * XXX CISCO SUCKS big time! (and blows too) */
|
||||
/* CISCO SUCKS big time! (and blows too):
|
||||
* CDP uses the IP checksum algorithm with a twist;
|
||||
* for the last byte it *sign* extends and sums.
|
||||
*/
|
||||
result = (result & 0xffff0000) | ((result + leftover) & 0x0000ffff);
|
||||
}
|
||||
while (result >> 16)
|
||||
|
Reference in New Issue
Block a user