[dpdk-stable] [dpdk-dev] [PATCH] app/testpmd: fix TX checksum calculation for tunnel
Gregory Etelson
getelson at nvidia.com
Sat Jul 24 14:43:21 CEST 2021
> Please we need more reviews for this patch.
>
I'll update the patch and post a v2.
> 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: stable at dpdk.org
>
> nit: no blank line between Fixes and Cc lines please
>
> >
> > Signed-off-by: Gregory Etelson <getelson at nvidia.com>
> > Reviewed-by: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
> > ---
> > + } 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);
> > + }
>
>
More information about the stable
mailing list