[dpdk-dev] crypto/qat: fix authentication offset and length for GMAC
Checks
Commit Message
Authentication length and offset need to be set like for any other
authentication algorithms as it no longer uses aad pointer
Fixes: b79e4c00af0e ("cryptodev: use AES-GCM/CCM as AEAD algorithms")
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
drivers/crypto/qat/qat_crypto.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
Comments
> -----Original Message-----
> From: Kusztal, ArkadiuszX
> Sent: Thursday, July 13, 2017 1:35 PM
> To: dev@dpdk.org
> Cc: Trahe, Fiona <fiona.trahe@intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> Griffin, John <john.griffin@intel.com>; Jain, Deepak K <deepak.k.jain@intel.com>; Kusztal, ArkadiuszX
> <arkadiuszx.kusztal@intel.com>
> Subject: [PATCH] crypto/qat: fix authentication offset and length for GMAC
>
> Authentication length and offset need to be set like for any other
> authentication algorithms as it no longer uses aad pointer
>
> Fixes: b79e4c00af0e ("cryptodev: use AES-GCM/CCM as AEAD algorithms")
>
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
@@ -1218,6 +1218,8 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,
set_cipher_iv(ctx->auth_iv.length,
ctx->auth_iv.offset,
cipher_param, op, qat_req);
+ auth_ofs = op->sym->auth.data.offset;
+ auth_len = op->sym->auth.data.length;
} else {
auth_ofs = op->sym->auth.data.offset;
auth_len = op->sym->auth.data.length;
@@ -1361,12 +1363,7 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,
}
/* GMAC */
if (!do_aead) {
- qat_req->comn_mid.dst_length =
- qat_req->comn_mid.src_length =
- rte_pktmbuf_data_len(op->sym->m_src);
auth_param->u1.aad_adr = 0;
- auth_param->auth_len = op->sym->auth.data.length;
- auth_param->auth_off = op->sym->auth.data.offset;
auth_param->u2.aad_sz = 0;
}
}