[dpdk-dev] [PATCH] app/test: fix crypto mbuf pool size

Trahe, Fiona fiona.trahe at intel.com
Mon Oct 10 17:37:25 CEST 2016


Hi Piotr,

> -----Original Message-----
> From: Azarewicz, PiotrX T
> Sent: Friday, October 7, 2016 12:35 PM
> To: Trahe, Fiona <fiona.trahe at intel.com>
> Cc: dev at dpdk.org
> Subject: [PATCH] app/test: fix crypto mbuf pool size
> 
> This patch fix that created pool for crypto mbufs may be too big in some
> environments.
> To avoid the issue, mbuf pool is reverted to its previous size.
> Moreover, here is added additional small pool with one large mbuf, what is
> needed in large data test scenarios.
> 
> Fixes: 2070f885b76d ("app/test: added tests for libcrypto PMD")
> 
> Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz at intel.com>
> ---
>  app/test/test_cryptodev.c |   28 +++++++++++++++++++++++++---
>  1 file changed, 25 insertions(+), 3 deletions(-)
> 
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index
> 2917454..914bb0b 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -60,6 +60,7 @@ static enum rte_cryptodev_type gbl_cryptodev_type;
> 
>  struct crypto_testsuite_params {
>  	struct rte_mempool *mbuf_pool;
> +	struct rte_mempool *large_mbuf_pool;
>  	struct rte_mempool *op_mpool;
>  	struct rte_cryptodev_config conf;
>  	struct rte_cryptodev_qp_conf qp_conf;
> @@ -169,7 +170,7 @@ testsuite_setup(void)
>  		/* Not already created so create */
>  		ts_params->mbuf_pool = rte_pktmbuf_pool_create(
>  				"CRYPTO_MBUFPOOL",
> -				NUM_MBUFS, MBUF_CACHE_SIZE, 0,
> UINT16_MAX,
> +				NUM_MBUFS, MBUF_CACHE_SIZE, 0,
> MBUF_SIZE,
>  				rte_socket_id());
>  		if (ts_params->mbuf_pool == NULL) {
>  			RTE_LOG(ERR, USER1, "Can't create
> CRYPTO_MBUFPOOL\n"); @@ -177,6 +178,21 @@ testsuite_setup(void)
>  		}
>  	}
> 
> +	ts_params->large_mbuf_pool = rte_mempool_lookup(
> +			"CRYPTO_LARGE_MBUFPOOL");
> +	if (ts_params->large_mbuf_pool == NULL) {
> +		/* Not already created so create */
> +		ts_params->large_mbuf_pool = rte_pktmbuf_pool_create(
> +				"CRYPTO_LARGE_MBUFPOOL",
> +				1, 0, 0, UINT16_MAX,
> +				rte_socket_id());
> +		if (ts_params->large_mbuf_pool == NULL) {
> +			RTE_LOG(ERR, USER1,
> +				"Can't create
> CRYPTO_LARGE_MBUFPOOL\n");
> +			return TEST_FAILED;
> +		}
> +	}
> +
>  	ts_params->op_mpool = rte_crypto_op_pool_create(
>  			"MBUF_CRYPTO_SYM_OP_POOL",
>  			RTE_CRYPTO_OP_TYPE_SYMMETRIC,
> @@ -5149,7 +5165,10 @@ test_AES_GMAC_authentication(const struct
> gmac_test_data *tdata)
>  	if (retval < 0)
>  		return retval;
> 
> -	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
> +	if (tdata->aad.len == GMAC_LARGE_PLAINTEXT_LENGTH)
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >large_mbuf_pool);
> +	else
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >mbuf_pool);
> 
It would be safer to test if aad.len > MBUF_SIZE, here and below.


>  	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
>  			rte_pktmbuf_tailroom(ut_params->ibuf));
> @@ -5233,7 +5252,10 @@ test_AES_GMAC_authentication_verify(const
> struct gmac_test_data *tdata)
>  	if (retval < 0)
>  		return retval;
> 
> -	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
> +	if (tdata->aad.len == GMAC_LARGE_PLAINTEXT_LENGTH)
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >large_mbuf_pool);
> +	else
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >mbuf_pool);
> 
>  	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
>  			rte_pktmbuf_tailroom(ut_params->ibuf));
> --
> 1.7.9.5



More information about the dev mailing list