> 
> Add enqueue callback support for cryptodev library
> 
> Signed-off-by: Abhinandan Gujjar <abhinandan.guj...@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.anan...@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

Reply via email to