Petri Savolainen(psavol) replied on github web page: include/odp/api/spec/packet_io.h line 17 @@ -256,11 +256,27 @@ typedef struct odp_pktio_param_t { * belong to time synchronization protocol (PTP). * * Packet input checksum checking may be enabled or disabled. When it is - * enabled, implementation will verify checksum correctness on incoming packets - * and depending on drop configuration either deliver erroneous packets with - * appropriate flags set (e.g. odp_packet_has_l3_error()) or drop those. - * When packet dropping is enabled, application will never receive a packet - * with the specified error and may avoid to check the error flag. + * enabled, implementation will attempt to verify checksum correctness on + * incoming packets and depending on drop configuration either deliver erroneous + * packets with appropriate flags set (e.g. odp_packet_has_l3_error(), + * odp_packet_l3_chksum_status()) or drop those. When packet dropping is + * enabled, application will never receive a packet with the specified error + * and may avoid to check the error flag. + * + * If checksum checking is enabled, IPv4 header checksum checking is always + * done for packets that do not have IP options and L4 checksum checking
Comment: That's RFC for IP stack not for NIC HW. ODP just pass information between app and HW. IP stack is an app. So, the app (IP stack) must do checksum check if HW didn't do it. We leave option for the HW to not do it, since not all HW do it for packets with options/extensions. https://github.com/Linaro/odp/pull/167#discussion_r137723386 updated_at 2017-09-08 07:16:48