Hi,
> AAD offset in AES-GCM crypto test was calculated by adding
> 16-byte alignment after the IV, which is only needed in AES-CCM.

Agreed that CCM has a requirement for 16B alignment.
But for GCM, does it break any protocol? Can we not align to byte boundary for 
performance?
This is a performance application which mainly focus on getting the best 
throughput.
Did you check if it is having some performance degradation?

> 
> The patch correct the AAD offset calculation in AES-GCM algorithm tests.
> 
> Fixes: 0b242422d385 ("app/crypto-perf: set AAD after the crypto operation")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Shani Peretz <shper...@nvidia.com>
> ---
>  app/test-crypto-perf/cperf_ops.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/app/test-crypto-perf/cperf_ops.c 
> b/app/test-crypto-perf/cperf_ops.c
> index 6d5f510220..f9be51e17f 100644
> --- a/app/test-crypto-perf/cperf_ops.c
> +++ b/app/test-crypto-perf/cperf_ops.c
> @@ -688,7 +688,9 @@ cperf_set_ops_aead(struct rte_crypto_op **ops,
>       uint16_t i;
>       /* AAD is placed after the IV */
>       uint16_t aad_offset = iv_offset +
> -                     RTE_ALIGN_CEIL(test_vector->aead_iv.length, 16);
> +                     ((options->aead_algo == RTE_CRYPTO_AEAD_AES_CCM)
> ?
> +                     RTE_ALIGN_CEIL(test_vector->aead_iv.length, 16) :
> +                     test_vector->aead_iv.length);
> 
>       for (i = 0; i < nb_ops; i++) {
>               struct rte_crypto_sym_op *sym_op = ops[i]->sym;
> --
> 2.25.1

Reply via email to