[dpdk-dev] [v4 3/3] doc: add enqueue callback APIs

Ananyev, Konstantin konstantin.ananyev at intel.com
Tue Oct 27 13:51:37 CET 2020



> 
> Add enqueue callback support for cryptodev library
> 
> Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar at intel.com>
> ---
>  doc/guides/prog_guide/cryptodev_lib.rst | 22 ++++++++++++++++++++++
>  doc/guides/rel_notes/release_20_11.rst  |  5 +++++
>  2 files changed, 27 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst
> index 72129e4..bb3de61 100644
> --- a/doc/guides/prog_guide/cryptodev_lib.rst
> +++ b/doc/guides/prog_guide/cryptodev_lib.rst
> @@ -366,6 +366,28 @@ can never be larger than ``nb_ops``.
>     uint16_t rte_cryptodev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
>                                          struct rte_crypto_op **ops, uint16_t nb_ops)
> 
> +User callback APIs
> +~~~~~~~~~~~~~~~~~~
> +The add API configures a callback function to be called for each burst of crypto
> +ops received on a given crypto device queue pair. The return value is a pointer
> +that can be used later to remove the callback using rte_cryptodev_remove_enq_callback().
> +Multiple callback functions can be added for a given queue pair.
> +
> +.. code-block:: c
> +
> +   struct rte_cryptodev_cb *
> +	rte_cryptodev_add_enq_callback(uint8_t dev_id,
> +				       uint16_t qp_id,
> +				       rte_cryptodev_callback_fn cb_fn,
> +				       void *cb_arg);
> +
> +The remove API removes a callback function added by rte_cryptodev_add_enq_callback().
> +
> +.. code-block:: c
> +
> +	int rte_cryptodev_remove_enq_callback(uint8_t dev_id,
> +					      uint16_t qp_id,
> +				              struct rte_cryptodev_cb *cb);


Please add explicit statement that all installed callbacks wouldn't suruvive dev_configure().
So it is user responsibility to: remove them before dev_configure() and (re)install after.
With that in place:
Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>

> 
>  Operation Representation
>  ~~~~~~~~~~~~~~~~~~~~~~~~
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index 48717ee..7e2fd30 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -285,6 +285,11 @@ New Features
>    * Added scatter gather support.
>    * Added NIST GCMVS complaint GMAC test method support.
> 
> +* **Added enqueue callback APIs for cryptodev library.**
> +
> +  Cryptodev is added with enqueue callback APIs to enable applications
> +  to add/remove user callbacks which gets called for every enqueue
> +  operations.
> 
>  Removed Items
>  -------------
> --
> 1.9.1



More information about the dev mailing list