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