summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorPablo de Lara <pablo.de.lara.guarch@intel.com>2018-07-16 09:26:16 +0100
committerPablo de Lara <pablo.de.lara.guarch@intel.com>2018-07-24 01:48:10 +0200
commit6df38301de93165d2b12e793f2cf0e084414d917 (patch)
tree8227636a7978bbdf92829ec41d54fea6b39fa349 /examples
parent37667e0a5760d99752e75fb9e8d4808b7e8d2c94 (diff)
downloaddpdk-6df38301de93165d2b12e793f2cf0e084414d917.zip
dpdk-6df38301de93165d2b12e793f2cf0e084414d917.tar.gz
dpdk-6df38301de93165d2b12e793f2cf0e084414d917.tar.xz
examples/l2fwd-crypto: fix digest with AEAD algo
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. Bugzilla ID: 44 Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Cc: stable@dpdk.org Reported-by: Ankur Dwivedi <ankur.dwivedi@cavium.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Tested-by: Ankur Dwivedi <ankur.dwivedi@cavium.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/l2fwd-crypto/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 9d6bb78..9ac06a6 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) {