examples/l2fwd-crypto: fix digest with AEAD algorithms

Message ID 20180716082616.1932-1-pablo.de.lara.guarch@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Pablo de Lara Guarch
Headers
Series examples/l2fwd-crypto: fix digest with AEAD algorithms |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

De Lara Guarch, Pablo July 16, 2018, 8:26 a.m. UTC
  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

Dwivedi, Ankur July 17, 2018, 5:42 a.m. UTC | #1
Hi Pablo,


This patch solves the bug.


Thanks

Ankur
  
De Lara Guarch, Pablo July 17, 2018, 8:08 a.m. UTC | #2
> -----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
  
De Lara Guarch, Pablo July 17, 2018, 8:14 a.m. UTC | #3
> -----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
  

Patch

diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 9d6bb7857..9ac06a697 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -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) {