patch 'app/crypto-perf: reset mbuf state for IPsec outbound' has been queued to stable release 24.11.9

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue Oct 27 12:50:23 CET 2026


Hi,

FYI, your patch has been queued to stable release 24.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/29/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/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/0e2179a3b173abeef4f79f262cd27b616ff13d8f

Thanks.

Luca Boccassi

---
>From 0e2179a3b173abeef4f79f262cd27b616ff13d8f Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh at nxp.com>
Date: Thu, 16 Jul 2026 12:46:20 +0530
Subject: [PATCH] app/crypto-perf: reset mbuf state for IPsec outbound

[ upstream commit e24a7ccb39fa1b59170c772ea541364801b1e641 ]

In cperf_set_ops_security_ipsec(), the same mbuf is reused across
multiple throughput iterations.  For outbound (encap) IPsec the PMD
may modify mbuf metadata such as data_off, data_len and pkt_len as
part of in-place protocol processing.  When the mbuf is recycled for
the next burst those modifications must be undone so the PMD always
sees a clean, freshly-allocated-like buffer.

Use rte_pktmbuf_reset() to restore the mbuf to its post-alloc state
in a PMD-agnostic manner, rather than patching individual fields with
driver-specific knowledge of the expected offset values.

Without this reset, drivers that back-adjust data_off after encap
(e.g. DPAA2 SEC, which advances data_off by SEC_FLC_DHR_OUTBOUND on
each dequeue) will receive a buffer with insufficient headroom on the
second and subsequent enqueues, causing hardware errors such as:

  DPAA2_SEC: SEC encap returned Error - 50000045
    (QI error 0x45: DHR correction underflow, reuse mode)
  DPAA2_SEC: SEC returned Error - 50000020
    (QI error 0x20: FD format error)

Fixes: 28dde5da503e ("app/crypto-perf: support lookaside IPsec")

Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
Acked-by: Nithinsen Kaithakadan <nkaithakadan at marvell.com>
---
 app/test-crypto-perf/cperf_ops.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c
index f9be51e17f0..65da3e90ff8 100644
--- a/app/test-crypto-perf/cperf_ops.c
+++ b/app/test-crypto-perf/cperf_ops.c
@@ -243,6 +243,8 @@ cperf_set_ops_security_ipsec(struct rte_crypto_op **ops,
 		ops[i]->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
 		rte_security_attach_session(ops[i], sess);
 		sym_op->m_src = (struct rte_mbuf *)((uint8_t *)ops[i] + src_buf_offset);
+		if (options->is_outbound)
+			rte_pktmbuf_reset(sym_op->m_src);
 		sym_op->m_src->pkt_len = test_buffer_size;
 
 		while ((m->next != NULL) && (offset >= m->data_len)) {
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-10-27 11:43:58.683889195 +0000
+++ 0129-app-crypto-perf-reset-mbuf-state-for-IPsec-outbound.patch	2026-10-27 11:43:53.654063782 +0000
@@ -1 +1 @@
-From e24a7ccb39fa1b59170c772ea541364801b1e641 Mon Sep 17 00:00:00 2001
+From 0e2179a3b173abeef4f79f262cd27b616ff13d8f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e24a7ccb39fa1b59170c772ea541364801b1e641 ]
+
@@ -28 +29,0 @@
-Cc: stable at dpdk.org
@@ -37 +38 @@
-index 873fa3b59f..1c8d1e263a 100644
+index f9be51e17f0..65da3e90ff8 100644
@@ -40 +41 @@
-@@ -409,6 +409,8 @@ cperf_set_ops_security_ipsec(struct rte_crypto_op **ops,
+@@ -243,6 +243,8 @@ cperf_set_ops_security_ipsec(struct rte_crypto_op **ops,


More information about the stable mailing list