Please we need more reviews for this patch.
19/07/2021 10:33, Gregory Etelson:
> TX checksum of a tunnelled packet can be calculated for outer headers
> only or for both outer and inner parts. The calculation method is
> determined by application.
> If TX checksum calculation can be offloaded, hardware ignores
> existing checksum value and replaces it with an updated result.
> If TX checksum is calculated by a software, existing value must be
> zeroed first.
> The testpmd checksum forwarding engine always zeroed inner checksums.
> If inner checksum calculation was offloaded, that header was left
> with 0 checksum value.
> Following outer software checksum calculation produced wrong value.
> The patch zeroes inner IPv4 checksum only before software calculation.
>
> Fixes: 51f694dd40f5 ("app/testpmd: rework checksum forward engine")
>
> Cc: [email protected]
nit: no blank line between Fixes and Cc lines please
>
> Signed-off-by: Gregory Etelson <[email protected]>
> Reviewed-by: Dmitry Kozlyuk <[email protected]>
> ---
> + } else if (ipv4_hdr->hdr_checksum) {
Please do an explicit comparison with 0 here
as it cannot be considered as a boolean test.
> + ipv4_hdr->hdr_checksum = 0;
> ipv4_hdr->hdr_checksum =
> rte_ipv4_cksum(ipv4_hdr);
> + }