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

Reply via email to