patch 'net/dpaa2: fix L3/L4 checksum offload flags' has been queued to stable release 25.11.1
Kevin Traynor
ktraynor at redhat.com
Wed Apr 1 13:56:51 CEST 2026
Hi,
FYI, your patch has been queued to stable release 25.11.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/03/26. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/baff7d86f4896a8642ef0316057c8b75eb9a383f
Thanks.
Kevin
---
>From baff7d86f4896a8642ef0316057c8b75eb9a383f Mon Sep 17 00:00:00 2001
From: Maxime Leroy <maxime at leroys.fr>
Date: Wed, 25 Mar 2026 21:45:37 +0100
Subject: [PATCH] net/dpaa2: fix L3/L4 checksum offload flags
[ upstream commit 6435a1d00a149dc32020a3fcf8268401c733c0f0 ]
The WRIOP FAS (Frame Annotation Status) field provides independent
bits for L3/L4 checksum validation (L3CV/L4CV) and error (L3CE/L4CE).
Two problems:
1. The driver used 'else if' between the L3 and L4 error checks, so
when both checksums were bad only the L3 error was reported and
the L4 error was silently lost. Use two independent 'if' statements
instead, matching how other drivers (i40e, ixgbe, bnxt) handle this.
2. The driver never reported GOOD checksums. When validation was
performed (L3CV/L4CV set) but no error was flagged (L3CE/L4CE
clear), report RTE_MBUF_F_RX_IP_CKSUM_GOOD /
RTE_MBUF_F_RX_L4_CKSUM_GOOD.
Fix both issues in dpaa2_dev_rx_parse_slow() and dpaa2_dev_rx_parse().
Not tested, found by code review.
Fixes: 870354264644 ("net/dpaa2: fix L3/L4 checksum results")
Signed-off-by: Maxime Leroy <maxime at leroys.fr>
Acked-by: Hemant Agrawal <hemant.agrawal at nxp.com>
---
drivers/net/dpaa2/dpaa2_rxtx.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index 9c908f87b1..689e5e7ee7 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -204,6 +204,11 @@ dpaa2_dev_rx_parse_slow(struct rte_mbuf *mbuf,
if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L3CE))
mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_BAD;
- else if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L4CE))
+ else if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L3CV))
+ mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_GOOD;
+
+ if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L4CE))
mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD;
+ else if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L4CV))
+ mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD;
if (BIT_ISSET_AT_POS(annotation->word4, L3_IP_1_FIRST_FRAGMENT |
@@ -241,6 +246,11 @@ dpaa2_dev_rx_parse(struct rte_mbuf *mbuf, void *hw_annot_addr)
if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L3CE))
mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_BAD;
- else if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L4CE))
+ else if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L3CV))
+ mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_GOOD;
+
+ if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L4CE))
mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD;
+ else if (BIT_ISSET_AT_POS(annotation->word1, DPAA2_ETH_FAS_L4CV))
+ mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD;
if (unlikely(dpaa2_print_parser_result))
--
2.53.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-04-01 12:56:52.380076360 +0100
+++ 0013-net-dpaa2-fix-L3-L4-checksum-offload-flags.patch 2026-04-01 12:56:52.016964896 +0100
@@ -1 +1 @@
-From 6435a1d00a149dc32020a3fcf8268401c733c0f0 Mon Sep 17 00:00:00 2001
+From baff7d86f4896a8642ef0316057c8b75eb9a383f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6435a1d00a149dc32020a3fcf8268401c733c0f0 ]
+
@@ -26 +27,0 @@
-Cc: stable at dpdk.org
More information about the stable
mailing list