>
> 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