diff options
Diffstat (limited to 'drivers/crypto/aesni_gcm')
-rw-r--r-- | drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 4 | ||||
-rw-r--r-- | drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c index dba5e158..af3d60f0 100644 --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c @@ -40,6 +40,7 @@ #include <rte_vdev.h> #include <rte_malloc.h> #include <rte_cpuflags.h> +#include <rte_byteorder.h> #include "aesni_gcm_pmd_private.h" @@ -241,7 +242,8 @@ process_gcm_crypto_op(struct aesni_gcm_qp *qp, struct rte_crypto_sym_op *op, * to set BE LSB to 1, driver expects that 16B is allocated */ if (op->cipher.iv.length == 12) { - op->cipher.iv.data[15] = 1; + uint32_t *iv_padd = (uint32_t *)&op->cipher.iv.data[12]; + *iv_padd = rte_bswap32(1); } if (op->auth.aad.length != 12 && op->auth.aad.length != 8 && diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c index e824d4b3..c51f82a8 100644 --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c @@ -77,8 +77,8 @@ static const struct rte_cryptodev_capabilities aesni_gcm_pmd_capabilities[] = { .increment = 0 }, .iv_size = { - .min = 16, - .max = 16, + .min = 12, + .max = 12, .increment = 0 } }, } |