[PATCH 6/6] crypto/cnxk: enable IV from application support
Tejasree Kondoj
ktejasree at marvell.com
Tue May 27 06:00:36 CEST 2025
Enabling IV from application as the default option.
Signed-off-by: Tejasree Kondoj <ktejasree at marvell.com>
---
drivers/crypto/cnxk/cn9k_ipsec.c | 19 +------------------
drivers/crypto/cnxk/cn9k_ipsec_la_ops.h | 5 +----
.../crypto/cnxk/cnxk_cryptodev_capabilities.c | 6 ++----
3 files changed, 4 insertions(+), 26 deletions(-)
diff --git a/drivers/crypto/cnxk/cn9k_ipsec.c b/drivers/crypto/cnxk/cn9k_ipsec.c
index fa00c428e6..62478d2340 100644
--- a/drivers/crypto/cnxk/cn9k_ipsec.c
+++ b/drivers/crypto/cnxk/cn9k_ipsec.c
@@ -48,11 +48,8 @@ cn9k_ipsec_outb_sa_create(struct cnxk_cpt_qp *qp,
if (ret)
return ret;
- sess->custom_hdr_len =
- sizeof(struct roc_ie_on_outb_hdr) - ROC_IE_ON_MAX_IV_LEN;
+ sess->custom_hdr_len = sizeof(struct roc_ie_on_outb_hdr) - ROC_IE_ON_MAX_IV_LEN;
-#ifdef LA_IPSEC_DEBUG
- /* Use IV from application in debug mode */
if (ipsec->options.iv_gen_disable == 1) {
sess->custom_hdr_len = sizeof(struct roc_ie_on_outb_hdr);
@@ -67,12 +64,6 @@ cn9k_ipsec_outb_sa_create(struct cnxk_cpt_qp *qp,
sess->cipher_iv_len = crypto_xform->auth.iv.length;
}
}
-#else
- if (ipsec->options.iv_gen_disable != 0) {
- plt_err("Application provided IV is not supported");
- return -ENOTSUP;
- }
-#endif
ret = cnxk_on_ipsec_outb_sa_create(ipsec, crypto_xform, &sa->out_sa);
@@ -89,16 +80,8 @@ cn9k_ipsec_outb_sa_create(struct cnxk_cpt_qp *qp,
param1.u16 = 0;
param1.s.ikev2 = 1;
-#ifdef LA_IPSEC_DEBUG
- /* Use IV from application in debug mode */
if (ipsec->options.iv_gen_disable == 1)
param1.s.per_pkt_iv = ROC_IE_ON_IV_SRC_FROM_DPTR;
-#else
- if (ipsec->options.iv_gen_disable != 0) {
- plt_err("Application provided IV is not supported");
- return -ENOTSUP;
- }
-#endif
w4.s.param1 = param1.u16;
diff --git a/drivers/crypto/cnxk/cn9k_ipsec_la_ops.h b/drivers/crypto/cnxk/cn9k_ipsec_la_ops.h
index 3e9f1e7efb..befd5b0c05 100644
--- a/drivers/crypto/cnxk/cn9k_ipsec_la_ops.h
+++ b/drivers/crypto/cnxk/cn9k_ipsec_la_ops.h
@@ -159,13 +159,10 @@ process_outb_sa(struct cpt_qp_meta_info *m_info, struct rte_crypto_op *cop,
inst->w4.s.opcode_major |= (uint64_t)ROC_DMA_MODE_SG;
}
-#ifdef LA_IPSEC_DEBUG
if (sess->inst.w4 & ROC_IE_ON_PER_PKT_IV) {
- memcpy(&hdr->iv[0],
- rte_crypto_op_ctod_offset(cop, uint8_t *, sess->cipher_iv_off),
+ memcpy(&hdr->iv[0], rte_crypto_op_ctod_offset(cop, uint8_t *, sess->cipher_iv_off),
sess->cipher_iv_len);
}
-#endif
m_src->pkt_len = pkt_len;
esn = ++sess->esn;
diff --git a/drivers/crypto/cnxk/cnxk_cryptodev_capabilities.c b/drivers/crypto/cnxk/cnxk_cryptodev_capabilities.c
index e78bc37c37..63d2eef349 100644
--- a/drivers/crypto/cnxk/cnxk_cryptodev_capabilities.c
+++ b/drivers/crypto/cnxk/cnxk_cryptodev_capabilities.c
@@ -2102,11 +2102,9 @@ cn10k_sec_ipsec_caps_update(struct rte_security_capability *sec_cap)
static void
cn9k_sec_ipsec_caps_update(struct rte_security_capability *sec_cap)
{
- if (sec_cap->ipsec.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS) {
-#ifdef LA_IPSEC_DEBUG
+ if (sec_cap->ipsec.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS)
sec_cap->ipsec.options.iv_gen_disable = 1;
-#endif
- }
+
sec_cap->ipsec.replay_win_sz_max = CNXK_ON_AR_WIN_SIZE_MAX;
sec_cap->ipsec.options.esn = 1;
}
--
2.25.1
More information about the dev
mailing list