> -----Original Message-----
> From: Gregory Etelson <[email protected]>
> Sent: Tuesday, July 27, 2021 21:08
> To: [email protected]
> Cc: [email protected]; Ajit Khaparde <[email protected]>;
> Olivier Matz <[email protected]>; Andrew Rybchenko
> <[email protected]>; Yigit, Ferruh <[email protected]>;
> Thomas Monjalon <[email protected]>; [email protected]; Li, Xiaoyun
> <[email protected]>
> Subject: [PATCH v2] app/testpmd: fix TX checksum calculation for tunnel
>
> 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]
>
> Signed-off-by: Gregory Etelson <[email protected]>
> ---
> v2:
> remove blank line between Fixes and Cc
> explicitly compare with 0 value in `if ()`
> ---
> app/test-pmd/csumonly.c | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
>
Acked-by: Xiaoyun Li <[email protected]>