Hi,team.
    I used hping3 to send IPv4 packets and found that the checksum
of the packet was incorrect when it carried the option field. After 
analyzing the code, I discovered that our IP checksum calculation
does not consider the length of the options, leading to the 
checksum error. Are we not considering the IP options on purpose, 
or is there another consideration?

Test command : 
     hping3 -c 1000 -1  -G 10.252.246.164

packet:

0000   58 53 c0 56 07 46 cc d8 1f 1b 7e 5e 81 00 00 5c
0010   08 00 45 00 00 76 00 00 40 00 3d 11 5d 33 0a fc
0020   e5 46 0a fc e5 05 e1 5c 12 b5 00 62 84 69 08 00
0030   00 00 00 00 64 00 02 7a 3b 9b c2 2a 58 53 c0 56
0040   07 60 08 00 4f 00 00 44 f0 e4 00 00 3e 01 7e 14
0050   0a fc f7 23 0a fc f6 a4 07 27 0c 01 02 03 04 0a
0060   fc e9 fc 00 00 00 00 00 00 00 00 00 00 00 00 00
0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080   08 00 3e 2f b9 d0 00 00

Calculation method:
    ip->ip_csum = csum(ip, sizeof *ip); 




Jun Wang
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to