Hi everyone,
I am testing an ethernet driver and I notice something odd with the UDP
checksum with
small IPv4 packet. If I send a UDP packet with only 4 bytes in the data
and padding
with 0 to have a valid IP packet (64 bytes) then I notice that the UDP
checksum is
computed using the length of the UDP data + the size of the padding.
I check in the code (in packet_udp.c function dissect_udp()) and the
size used for
the UDP checksum is the reported_len and not the upd size.
UDP data:
13 88 13 89 00 0c ef 68 31 32 33 34 00 00
00 00 00 00 00 00 00 00 00 00 00
Checksum: 0xef68 (incorrect, should be 0xef5b).
My length is 0x0c but the checksum is done with a length of 0x19 (this
explain the difference of 0x0d, the size of the padding).
Is this normal a normal behavior ?
Robert Morin
embVUE Inc.
Montreal
_______________________________________________
Ethereal-users mailing list
[EMAIL PROTECTED]
http://www.ethereal.com/mailman/listinfo/ethereal-users