examples/l2fwd-crypto: fix digest with AEAD algorithms
Checks
Commit Message
When performing authentication verification (both for AEAD algorithms,
such as AES-GCM, or for authentication algorithms, such as SHA1-HMAC),
the digest address is calculated based on the packet size and the
algorithm used (substracting digest size and IP header to the packet size).
However, for AEAD algorithms, this was not calculated correctly,
since the digest size was not being substracted.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Bugzilla ID: 44
Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters")
Cc: stable@dpdk.org
---
examples/l2fwd-crypto/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
Hi Pablo,
This patch solves the bug.
Thanks
Ankur
> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Tuesday, July 17, 2018 9:04 AM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Subject: RE: [PATCH] examples/l2fwd-crypto: fix digest with AEAD algorithms
>
>
>
> From: Dwivedi, Ankur [mailto:Ankur.Dwivedi@cavium.com]
> Sent: Tuesday, July 17, 2018 6:43 AM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Doherty, Declan
> <declan.doherty@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [PATCH] examples/l2fwd-crypto: fix digest with AEAD algorithms
>
> Hi Pablo,
>
Hi Ankur,
> This patch solves the bug.
Thanks, I will add in the commit that you have tested this patch.
Pablo
>
> Thanks
> Ankur
> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Monday, July 16, 2018 9:26 AM
> To: ankur.dwivedi@cavium.com; Doherty, Declan <declan.doherty@intel.com>
> Cc: dev@dpdk.org; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> stable@dpdk.org
> Subject: [PATCH] examples/l2fwd-crypto: fix digest with AEAD algorithms
>
> When performing authentication verification (both for AEAD algorithms, such as
> AES-GCM, or for authentication algorithms, such as SHA1-HMAC), the digest
> address is calculated based on the packet size and the algorithm used
> (substracting digest size and IP header to the packet size).
>
> However, for AEAD algorithms, this was not calculated correctly, since the
> digest size was not being substracted.
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Applied to dpdk-next-crypto.
Pablo
@@ -408,7 +408,7 @@ l2fwd_simple_crypto_enqueue(struct rte_mbuf *m,
/* Zero pad data to be crypto'd so it is block aligned */
data_len = rte_pktmbuf_data_len(m) - ipdata_offset;
- if (cparams->do_hash && cparams->hash_verify)
+ if ((cparams->do_hash || cparams->do_aead) && cparams->hash_verify)
data_len -= cparams->digest_length;
if (cparams->do_cipher) {