* [PATCH 0/6] DPAA2 SEC related changes
@ 2026-08-10 11:29 Gagandeep Singh
2026-08-10 11:29 ` [PATCH 1/6] crypto/dpaa2_sec: fix buffer overflow in GCM decrypt Gagandeep Singh
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal
This series include bug fixes, enhancement and AES-GMAC support
Gagandeep Singh (6):
crypto/dpaa2_sec: fix buffer overflow in GCM decrypt
crypto/dpaa2_sec: fix FLE pool leak on sec FD build failure
crypto/dpaa2_sec: support AES-GMAC
crypto/dpaa2_sec: increase ivsize range for AES-CTR
crypto/dpaa2_sec: add missing ECN capability
crypto/dpaa2_sec: add support for env variables
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 50 ++++++++++++++++++---
drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 45 ++++++++++++++++---
lib/cryptodev/rte_crypto_sym.h | 2 +
3 files changed, 86 insertions(+), 11 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/6] crypto/dpaa2_sec: fix buffer overflow in GCM decrypt
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
@ 2026-08-10 11:29 ` Gagandeep Singh
2026-08-10 11:29 ` [PATCH 2/6] crypto/dpaa2_sec: fix FLE pool leak on sec FD build failure Gagandeep Singh
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal, stable, Gagandeep Singh
In build_authenc_gcm_fd, when both AAD (auth_only_len > 0) and decrypt
direction are active, the SGE layout occupies 8 entries plus 16 bytes of
old_icv storage at index 8. The FLE pool buffer was only 256 bytes
(8 x 32), causing old_icv to be written one entry past the end of the
allocated buffer. The resulting virtual address was not mapped by the
IOMMU, so DPAA2_VADDR_TO_IOVA returned 0 and the SEC engine received
iova=0x00000000 as the ICV buffer address, triggering an SMMU
translation fault (FSR=0x402 TF).
Additionally, the upfront bpid/IVP initialization only covered sge+3,
leaving sge+4 (the input data SGE when AAD is present) without a valid
bpid or IVP assignment.
Increase FLE_POOL_BUF_SIZE from 256 to 288 (9 x 32 bytes) to
accommodate the full layout, and extend the bpid/IVP initialization
to cover sge+4 in both branches of build_authenc_gcm_fd.
Fixes: 13273250ee ("crypto/dpaa2_sec: support AES-GCM and CTR")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 2 ++
drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 3d980d096f..2a015a3d82 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -569,6 +569,7 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,
DPAA2_SET_FLE_BPID(sge + 1, bpid);
DPAA2_SET_FLE_BPID(sge + 2, bpid);
DPAA2_SET_FLE_BPID(sge + 3, bpid);
+ DPAA2_SET_FLE_BPID(sge + 4, bpid);
} else {
DPAA2_SET_FD_IVP(fd);
DPAA2_SET_FLE_IVP(fle);
@@ -577,6 +578,7 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,
DPAA2_SET_FLE_IVP((sge + 1));
DPAA2_SET_FLE_IVP((sge + 2));
DPAA2_SET_FLE_IVP((sge + 3));
+ DPAA2_SET_FLE_IVP((sge + 4));
}
/* Save the shared descriptor */
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
index 755c8e9cc3..ff32f3d860 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
@@ -17,7 +17,7 @@ extern uint8_t cryptodev_driver_id;
/* FLE_POOL_NUM_BUFS is set as per the ipsec-secgw application */
#define FLE_POOL_NUM_BUFS 32000
-#define FLE_POOL_BUF_SIZE 256
+#define FLE_POOL_BUF_SIZE 288
#define FLE_POOL_CACHE_SIZE 512
#define FLE_SG_MEM_SIZE(num) (FLE_POOL_BUF_SIZE + ((num) * 32))
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/6] crypto/dpaa2_sec: fix FLE pool leak on sec FD build failure
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
2026-08-10 11:29 ` [PATCH 1/6] crypto/dpaa2_sec: fix buffer overflow in GCM decrypt Gagandeep Singh
@ 2026-08-10 11:29 ` Gagandeep Singh
2026-08-10 11:29 ` [PATCH 3/6] crypto/dpaa2_sec: support AES-GMAC Gagandeep Singh
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal, stable, Gagandeep Singh
When build_sec_fd fails at index loop inside the enqueue burst loops,
the previously built FD entries (indices 0..loop-1) were never freed.
The cleanup loop iterated in the wrong direction, starting at the
failed index and going up to frames_to_send, which are entries that
were never built. This caused silent FLE pool exhaustion, after which
every subsequent build_sec_fd returned -ENOMEM, enqueue_burst
returned 0 indefinitely, and the crypto-perf test hung.
Fix both dpaa2_sec_enqueue_burst and dpaa2_sec_enqueue_burst_ordered
by clamping frames_to_send to loop + 1 and iterating from 0 to
free all allocated FLE buffers including the failed entry.
Fixes: 623326dded ("crypto/dpaa2_sec: introduce poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 2a015a3d82..15152cc5a1 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -1550,6 +1550,9 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
ret = build_sec_fd(*ops, &fd_arr[loop], bpid, dpaa2_qp);
if (ret) {
DPAA2_SEC_DP_DEBUG("FD build failed");
+ frames_to_send = loop + 1;
+ for (loop = 0; loop < frames_to_send; loop++)
+ free_fle(&fd_arr[loop], dpaa2_qp);
goto skip_tx;
}
ops++;
@@ -1909,6 +1912,9 @@ dpaa2_sec_enqueue_burst_ordered(void *qp, struct rte_crypto_op **ops,
ret = build_sec_fd(*ops, &fd_arr[loop], bpid, dpaa2_qp);
if (ret) {
DPAA2_SEC_DP_DEBUG("FD build failed");
+ frames_to_send = loop + 1;
+ for (loop = 0; loop < frames_to_send; loop++)
+ free_fle(&fd_arr[loop], dpaa2_qp);
goto skip_tx;
}
ops++;
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/6] crypto/dpaa2_sec: support AES-GMAC
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
2026-08-10 11:29 ` [PATCH 1/6] crypto/dpaa2_sec: fix buffer overflow in GCM decrypt Gagandeep Singh
2026-08-10 11:29 ` [PATCH 2/6] crypto/dpaa2_sec: fix FLE pool leak on sec FD build failure Gagandeep Singh
@ 2026-08-10 11:29 ` Gagandeep Singh
2026-08-10 11:29 ` [PATCH 4/6] crypto/dpaa2_sec: increase ivsize range for AES-CTR Gagandeep Singh
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal, Gagandeep Singh
Add AES-GMAC as a supported AEAD algorithm for IPsec protocol
offload. AES-GMAC provides NULL encryption with GMAC authentication
and maps to OP_PCL_IPSEC_AES_NULL_WITH_GMAC in the SEC protocol
control word.
When AES_GMAC is specified as an AUTH (non-AEAD) algorithm, return
-ENOTSUP with an informative message directing the user to the AEAD
path.
Add RTE_CRYPTO_AEAD_AES_GMAC to the AEAD algorithm enum and expose
the capability in dpaa2_sec_capabilities.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 15 +++++++++-
drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 33 ++++++++++++++++++++-
lib/cryptodev/rte_crypto_sym.h | 2 ++
3 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 15152cc5a1..0e4e67aa07 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
- * Copyright 2016-2025 NXP
+ * Copyright 2016-2026 NXP
*
*/
@@ -2975,6 +2975,13 @@ dpaa2_sec_ipsec_aead_init(struct rte_crypto_aead_xform *aead_xform,
aeaddata->algmode = OP_ALG_AAI_CCM;
session->aead_alg = RTE_CRYPTO_AEAD_AES_CCM;
break;
+ case RTE_CRYPTO_AEAD_AES_GMAC:
+ /**
+ * AES-GMAC is an AEAD algo with NULL encryption and GMAC
+ * authentication.
+ */
+ aeaddata->algtype = OP_PCL_IPSEC_AES_NULL_WITH_GMAC;
+ break;
default:
DPAA2_SEC_ERR("Crypto: Undefined AEAD specified %u",
aead_xform->algo);
@@ -3046,6 +3053,10 @@ dpaa2_sec_ipsec_proto_init(struct rte_crypto_cipher_xform *cipher_xform,
authdata->algtype = OP_PCL_IPSEC_HMAC_MD5_96;
authdata->algmode = OP_ALG_AAI_HMAC;
break;
+ case RTE_CRYPTO_AUTH_AES_GMAC:
+ DPAA2_SEC_ERR(
+ "AES_GMAC is supported as AEAD algo for IPSEC proto only");
+ return -ENOTSUP;
case RTE_CRYPTO_AUTH_SHA224_HMAC:
authdata->algmode = OP_ALG_AAI_HMAC;
if (session->digest_length == 6)
@@ -3217,6 +3228,7 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
case OP_PCL_IPSEC_AES_GCM8:
case OP_PCL_IPSEC_AES_GCM12:
case OP_PCL_IPSEC_AES_GCM16:
+ case OP_PCL_IPSEC_AES_NULL_WITH_GMAC:
memcpy(encap_pdb.gcm.salt,
(uint8_t *)&(ipsec_xform->salt), 4);
break;
@@ -3357,6 +3369,7 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
case OP_PCL_IPSEC_AES_GCM8:
case OP_PCL_IPSEC_AES_GCM12:
case OP_PCL_IPSEC_AES_GCM16:
+ case OP_PCL_IPSEC_AES_NULL_WITH_GMAC:
memcpy(decap_pdb.gcm.salt,
(uint8_t *)&(ipsec_xform->salt), 4);
break;
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
index ff32f3d860..1824cc4a60 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
- * Copyright 2016,2020-2024 NXP
+ * Copyright 2016,2020-2026 NXP
*
*/
@@ -762,6 +762,37 @@ static const struct rte_cryptodev_capabilities dpaa2_sec_capabilities[] = {
}, }
}, }
},
+ { /* AES GMAC (AEAD) */
+ .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+ {.sym = {
+ .xform_type = RTE_CRYPTO_SYM_XFORM_AEAD,
+ {.aead = {
+ .algo = RTE_CRYPTO_AEAD_AES_GMAC,
+ .block_size = 16,
+ .key_size = {
+ .min = 16,
+ .max = 32,
+ .increment = 8
+ },
+ .digest_size = {
+ .min = 16,
+ .max = 16,
+ .increment = 0
+ },
+ .aad_size = {
+ .min = 0,
+ .max = 65535,
+ .increment = 1
+ },
+ .iv_size = {
+ .min = 12,
+ .max = 16,
+ .increment = 4
+ }
+ }, }
+ }, }
+ },
+
RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
};
diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 630fd153bd..f65db616a0 100644
--- a/lib/cryptodev/rte_crypto_sym.h
+++ b/lib/cryptodev/rte_crypto_sym.h
@@ -508,6 +508,8 @@ enum rte_crypto_aead_algorithm {
/**< AES algorithm in NCA5 mode */
RTE_CRYPTO_AEAD_ZUC_NCA6,
/**< ZUC-256 algorithm in NCA6 mode */
+ RTE_CRYPTO_AEAD_AES_GMAC,
+ /**< AES algorithm in GMAC mode. */
};
/** Symmetric AEAD Operations */
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/6] crypto/dpaa2_sec: increase ivsize range for AES-CTR
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
` (2 preceding siblings ...)
2026-08-10 11:29 ` [PATCH 3/6] crypto/dpaa2_sec: support AES-GMAC Gagandeep Singh
@ 2026-08-10 11:29 ` Gagandeep Singh
2026-08-10 11:29 ` [PATCH 5/6] crypto/dpaa2_sec: add missing ECN capability Gagandeep Singh
2026-08-10 11:29 ` [PATCH 6/6] crypto/dpaa2_sec: add support for env variables Gagandeep Singh
5 siblings, 0 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal
Widen the AES-CTR IV size range from the fixed 16-byte value to
[12, 16] with a 4-byte increment. This allows 96-bit IVs (the
standard NIST SP 800-38A recommendation) in addition to 128-bit
IVs, aligning with common usage and test-vector expectations.
The change applies to both dpaa2_sec_capabilities and
dpaa2_pdcp_capabilities.
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
index 1824cc4a60..7e18e83858 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
@@ -625,9 +625,9 @@ static const struct rte_cryptodev_capabilities dpaa2_sec_capabilities[] = {
.increment = 8
},
.iv_size = {
- .min = 16,
+ .min = 12,
.max = 16,
- .increment = 0
+ .increment = 4
},
}, }
}, }
@@ -855,9 +855,9 @@ static const struct rte_cryptodev_capabilities dpaa2_pdcp_capabilities[] = {
.increment = 8
},
.iv_size = {
- .min = 16,
+ .min = 12,
.max = 16,
- .increment = 0
+ .increment = 4
}
}, }
}, }
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/6] crypto/dpaa2_sec: add missing ECN capability
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
` (3 preceding siblings ...)
2026-08-10 11:29 ` [PATCH 4/6] crypto/dpaa2_sec: increase ivsize range for AES-CTR Gagandeep Singh
@ 2026-08-10 11:29 ` Gagandeep Singh
2026-08-10 11:29 ` [PATCH 6/6] crypto/dpaa2_sec: add support for env variables Gagandeep Singh
5 siblings, 0 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal, Gagandeep Singh
Set the .ecn = 1 flag in both tunnel-mode security capability
entries to advertise that the driver supports ECN (Explicit
Congestion Notification) copying during IPsec encap/decap.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
index 7e18e83858..16b8273a79 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
@@ -1004,6 +1004,7 @@ static const struct rte_security_capability dpaa2_sec_security_cap[] = {
.copy_df = 1,
.copy_dscp = 1,
.dec_ttl = 1,
+ .ecn = 1,
.esn = 1,
},
.replay_win_sz_max = 1024
@@ -1023,6 +1024,7 @@ static const struct rte_security_capability dpaa2_sec_security_cap[] = {
.copy_df = 1,
.copy_dscp = 1,
.dec_ttl = 1,
+ .ecn = 1,
.esn = 1,
},
.replay_win_sz_max = 1024
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 6/6] crypto/dpaa2_sec: add support for env variables
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
` (4 preceding siblings ...)
2026-08-10 11:29 ` [PATCH 5/6] crypto/dpaa2_sec: add missing ECN capability Gagandeep Singh
@ 2026-08-10 11:29 ` Gagandeep Singh
2026-08-10 15:16 ` Stephen Hemminger
5 siblings, 1 reply; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-10 11:29 UTC (permalink / raw)
To: dev, gakhil; +Cc: hemant.agrawal, Gagandeep Singh
Allow driver configuration via environment variables as a fallback
when devargs are not provided. After processing devargs (or when
devargs are absent), check DRIVER_STRICT_ORDER and DRIVER_DUMP_MODE
environment variables to set en_loose_ordered and dpaa2_sec_dp_dump.
This lets users configure the driver without modifying EAL arguments,
useful in environments where command-line access is restricted.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 27 ++++++++++++++++++---
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 0e4e67aa07..c54960820c 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -4379,25 +4379,44 @@ check_devargs_handler(const char *key, const char *value,
static void
dpaa2_sec_get_devargs(struct rte_cryptodev *cryptodev, const char *key)
{
+ struct dpaa2_sec_dev_private *internals;
struct rte_kvargs *kvlist;
struct rte_devargs *devargs;
+ int ret;
+ char *env;
+
+ internals = cryptodev->data->dev_private;
devargs = cryptodev->device->devargs;
if (!devargs)
- return;
+ goto env_set;
kvlist = rte_kvargs_parse(devargs->args, NULL);
if (!kvlist)
- return;
+ goto env_set;
if (!rte_kvargs_count(kvlist, key)) {
rte_kvargs_free(kvlist);
- return;
+ goto env_set;
}
- rte_kvargs_process(kvlist, key,
+ ret = rte_kvargs_process(kvlist, key,
check_devargs_handler, (void *)cryptodev);
rte_kvargs_free(kvlist);
+ if (!ret)
+ return;
+
+env_set:
+ env = getenv(DRIVER_STRICT_ORDER);
+ if (env)
+ internals->en_loose_ordered = !atoi(env);
+
+ env = getenv(DRIVER_DUMP_MODE);
+ if (env) {
+ dpaa2_sec_dp_dump = atoi(env);
+ if (dpaa2_sec_dp_dump > DPAA2_SEC_DP_FULL_DUMP)
+ dpaa2_sec_dp_dump = DPAA2_SEC_DP_FULL_DUMP;
+ }
}
static int
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 6/6] crypto/dpaa2_sec: add support for env variables
2026-08-10 11:29 ` [PATCH 6/6] crypto/dpaa2_sec: add support for env variables Gagandeep Singh
@ 2026-08-10 15:16 ` Stephen Hemminger
2026-08-11 7:50 ` Gagandeep Singh
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Hemminger @ 2026-08-10 15:16 UTC (permalink / raw)
To: Gagandeep Singh; +Cc: dev, gakhil, hemant.agrawal
On Mon, 10 Aug 2026 16:59:51 +0530
Gagandeep Singh <g.singh@nxp.com> wrote:
> Allow driver configuration via environment variables as a fallback
> when devargs are not provided. After processing devargs (or when
> devargs are absent), check DRIVER_STRICT_ORDER and DRIVER_DUMP_MODE
> environment variables to set en_loose_ordered and dpaa2_sec_dp_dump.
>
> This lets users configure the driver without modifying EAL arguments,
> useful in environments where command-line access is restricted.
>
> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
No. This is bad precedent. DPDK has a method for configuration.
Adding AdHoc environment variables creates chaos.
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 6/6] crypto/dpaa2_sec: add support for env variables
2026-08-10 15:16 ` Stephen Hemminger
@ 2026-08-11 7:50 ` Gagandeep Singh
0 siblings, 0 replies; 9+ messages in thread
From: Gagandeep Singh @ 2026-08-11 7:50 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dev@dpdk.org, gakhil@marvell.com, Hemant Agrawal
Hi,
> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Monday, August 10, 2026 8:46 PM
> To: Gagandeep Singh <G.Singh@nxp.com>
> Cc: dev@dpdk.org; gakhil@marvell.com; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Subject: Re: [PATCH 6/6] crypto/dpaa2_sec: add support for env variables
>
> On Mon, 10 Aug 2026 16:59:51 +0530
> Gagandeep Singh <g.singh@nxp.com> wrote:
>
> > Allow driver configuration via environment variables as a fallback
> > when devargs are not provided. After processing devargs (or when
> > devargs are absent), check DRIVER_STRICT_ORDER and
> DRIVER_DUMP_MODE
> > environment variables to set en_loose_ordered and dpaa2_sec_dp_dump.
> >
> > This lets users configure the driver without modifying EAL arguments,
> > useful in environments where command-line access is restricted.
> >
> > Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
>
> No. This is bad precedent. DPDK has a method for configuration.
> Adding AdHoc environment variables creates chaos.
I understand the concern. The devargs are already presents. The motivation was mainly customer support. In many deployments,
users cannot easily modify EAL/devargs but can set environment variables without the need to update and recompile
their binaries, making it easier to enable temporary debugging in the field.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-08-11 7:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-10 11:29 [PATCH 0/6] DPAA2 SEC related changes Gagandeep Singh
2026-08-10 11:29 ` [PATCH 1/6] crypto/dpaa2_sec: fix buffer overflow in GCM decrypt Gagandeep Singh
2026-08-10 11:29 ` [PATCH 2/6] crypto/dpaa2_sec: fix FLE pool leak on sec FD build failure Gagandeep Singh
2026-08-10 11:29 ` [PATCH 3/6] crypto/dpaa2_sec: support AES-GMAC Gagandeep Singh
2026-08-10 11:29 ` [PATCH 4/6] crypto/dpaa2_sec: increase ivsize range for AES-CTR Gagandeep Singh
2026-08-10 11:29 ` [PATCH 5/6] crypto/dpaa2_sec: add missing ECN capability Gagandeep Singh
2026-08-10 11:29 ` [PATCH 6/6] crypto/dpaa2_sec: add support for env variables Gagandeep Singh
2026-08-10 15:16 ` Stephen Hemminger
2026-08-11 7:50 ` Gagandeep Singh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox