[dpdk-dev] [PATCH v2 2/2] examples/l2fwd-crypto: add callback handlers

Ruifeng Wang (Arm Technology China) Ruifeng.Wang at arm.com
Fri Jun 21 09:06:49 CEST 2019


Hi,

> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Vipin Varghese
> Sent: Monday, June 10, 2019 14:30
> To: keith.wiles at intel.com; dev at dpdk.org; pablo.de.lara.guarch at intel.com;
> Akhil.goyal at nxp.com; declan.doherty at intel.com
> Cc: sanjay.padubidri at intel.com; Vipin Varghese <vipin.varghese at intel.com>
> Subject: [dpdk-dev] [PATCH v2 2/2] examples/l2fwd-crypto: add callback
> handlers
> 
> Register user callback handlers for pre-enqueue and pst-dequeue for crypto
> device instance 0 with port 0.
> 
> Signed-off-by: Vipin Varghese <vipin.varghese at intel.com>
> ---
>  examples/l2fwd-crypto/main.c | 38
> ++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
> index e282cb7bf..c42b352f8 100644
> --- a/examples/l2fwd-crypto/main.c
> +++ b/examples/l2fwd-crypto/main.c
> @@ -255,6 +255,22 @@ struct l2fwd_crypto_statistics
> crypto_statistics[RTE_CRYPTO_MAX_DEVS];
>  /* default period is 10 seconds */
>  static int64_t timer_period = 10 * TIMER_MILLISECOND * 1000;
> 
> +#ifdef RTE_CRYPTODEV_ENQDEQ_CALLBACKS
> +static uint16_t dump_crypto(__rte_unused uint8_t dev_id,
> +		__rte_unused uint8_t qp_id,
> +		__rte_unused struct rte_crypto_op **ops,
> +		__rte_unused uint16_t nb_ops,
> +		__rte_unused void *cb_arg)
> +{
> +	if (nb_ops)
> +		RTE_LOG(DEBUG, L2FWD, " dev_id (%u) qp_id (%u)"
> +				" ops (%p) nb_ops (%u)\n",
> +				dev_id, qp_id, ops, nb_ops);
> +
> +	return nb_ops;
> +}
> +#endif
> +
>  /* Print out statistics on packets dropped */  static void
>  print_stats(void)
> @@ -2783,6 +2799,18 @@ main(int argc, char **argv)
>  				(unsigned)cdev_id);
>  	}
> 
> +#ifdef RTE_CRYPTODEV_ENQDEQ_CALLBACKS
> +	ret = rte_cryptodev_preenq_callback_register(0, 0, dump_crypto,
> NULL);
> +	if (ret != 0)
> +		RTE_LOG(ERR, L2FWD, " failed to preenq callback register\n");
> +	RTE_LOG(INFO, L2FWD, " preenq callback register success\n");
> +
> +	ret = rte_cryptodev_pstdeq_callback_register(0, 0, dump_crypto,
> NULL);
> +	if (ret != 0)
> +		RTE_LOG(ERR, L2FWD, " failed to pstdeq callback register\n");
> +	RTE_LOG(INFO, L2FWD, " pstdeq callback register success\n"); #endif
> +
>  	/* launch per-lcore init on every lcore */
>  	rte_eal_mp_remote_launch(l2fwd_launch_one_lcore, (void
> *)&options,
>  			CALL_MASTER);
> @@ -2791,5 +2819,15 @@ main(int argc, char **argv)
>  			return -1;
>  	}
> 
> +#ifdef RTE_CRYPTODEV_ENQDEQ_CALLBACKS
> +	ret = rte_cryptodev_preenq_callback_unregister(0, 0, dump_crypto,
> NULL);
> +	if (ret != 0)
> +		printf(" faield

Observed typo here 'faield' -> 'failed'  ;)

> rte_cryptodev_preenq_callback_unregister\n");
> +
> +	ret = rte_cryptodev_pstdeq_callback_unregister(0, 0, dump_crypto,
> NULL);
> +	if (ret != 0)
> +		printf(" failed
> rte_cryptodev_pstdeq_callback_unregister\n");
> +#endif
> +
>  	return 0;
>  }
> --
> 2.17.1



More information about the dev mailing list