[EXTERNAL] [PATCH] app/crypto-perf: fix aad offset alignment

Akhil Goyal gakhil at marvell.com
Mon Mar 17 11:22:31 CET 2025


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: stable at dpdk.org
> 
> Signed-off-by: Shani Peretz <shperetz at 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



More information about the dev mailing list