From: Nithinsen Kaithakadan <nkaithaka...@marvell.com> Copy 8 bytes of the IV into the iv field within the session for the AES CTR algorithm.
Signed-off-by: Nithinsen Kaithakadan <nkaithaka...@marvell.com> --- drivers/crypto/cnxk/cn10k_ipsec_la_ops.h | 7 ++++--- drivers/crypto/cnxk/cn20k_ipsec_la_ops.h | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/cnxk/cn10k_ipsec_la_ops.h b/drivers/crypto/cnxk/cn10k_ipsec_la_ops.h index 0cc6283c7e..b9122a509a 100644 --- a/drivers/crypto/cnxk/cn10k_ipsec_la_ops.h +++ b/drivers/crypto/cnxk/cn10k_ipsec_la_ops.h @@ -32,7 +32,7 @@ ipsec_po_sa_iv_set(struct cn10k_sec_session *sess, struct rte_crypto_op *cop) } static inline void -ipsec_po_sa_aes_gcm_iv_set(struct cn10k_sec_session *sess, struct rte_crypto_op *cop) +ipsec_po_sa_aes_8b_iv_set(struct cn10k_sec_session *sess, struct rte_crypto_op *cop) { uint8_t *iv = &sess->sa.out_sa.iv.s.iv_dbg1[0]; uint32_t *tmp_iv; @@ -63,8 +63,9 @@ process_outb_sa(struct roc_cpt_lf *lf, struct rte_crypto_op *cop, struct cn10k_s if (sess->sa.out_sa.w2.s.iv_src == ROC_IE_OT_SA_IV_SRC_FROM_SA) { if (sess->sa.out_sa.w2.s.enc_type == ROC_IE_SA_ENC_AES_GCM || sess->sa.out_sa.w2.s.enc_type == ROC_IE_SA_ENC_AES_CCM || - sess->sa.out_sa.w2.s.auth_type == ROC_IE_SA_AUTH_AES_GMAC) - ipsec_po_sa_aes_gcm_iv_set(sess, cop); + sess->sa.out_sa.w2.s.auth_type == ROC_IE_SA_AUTH_AES_GMAC || + sess->sa.out_sa.w2.s.enc_type == ROC_IE_SA_ENC_AES_CTR) + ipsec_po_sa_aes_8b_iv_set(sess, cop); else ipsec_po_sa_iv_set(sess, cop); } diff --git a/drivers/crypto/cnxk/cn20k_ipsec_la_ops.h b/drivers/crypto/cnxk/cn20k_ipsec_la_ops.h index 505fddb517..2f860c1855 100644 --- a/drivers/crypto/cnxk/cn20k_ipsec_la_ops.h +++ b/drivers/crypto/cnxk/cn20k_ipsec_la_ops.h @@ -31,7 +31,7 @@ ipsec_po_sa_iv_set(struct cn20k_sec_session *sess, struct rte_crypto_op *cop) } static inline void -ipsec_po_sa_aes_gcm_iv_set(struct cn20k_sec_session *sess, struct rte_crypto_op *cop) +ipsec_po_sa_aes_8b_iv_set(struct cn20k_sec_session *sess, struct rte_crypto_op *cop) { uint8_t *iv = &sess->sa.out_sa.iv.s.iv_dbg1[0]; uint32_t *tmp_iv; @@ -62,8 +62,9 @@ process_outb_sa(struct roc_cpt_lf *lf, struct rte_crypto_op *cop, struct cn20k_s if (sess->sa.out_sa.w2.s.iv_src == ROC_IE_OW_SA_IV_SRC_FROM_SA) { if (sess->sa.out_sa.w2.s.enc_type == ROC_IE_SA_ENC_AES_GCM || sess->sa.out_sa.w2.s.enc_type == ROC_IE_SA_ENC_AES_CCM || - sess->sa.out_sa.w2.s.auth_type == ROC_IE_SA_AUTH_AES_GMAC) - ipsec_po_sa_aes_gcm_iv_set(sess, cop); + sess->sa.out_sa.w2.s.auth_type == ROC_IE_SA_AUTH_AES_GMAC || + sess->sa.out_sa.w2.s.enc_type == ROC_IE_SA_ENC_AES_CTR) + ipsec_po_sa_aes_8b_iv_set(sess, cop); else ipsec_po_sa_iv_set(sess, cop); } -- 2.25.1