[dpdk-dev] [dpdk-dev v13 0/4] cryptodev: add raw data-path APIs

Akhil Goyal akhil.goyal at nxp.com
Mon Oct 12 18:15:36 CEST 2020


> Subject: [dpdk-dev v13 0/4] cryptodev: add raw data-path APIs
> 
> The Crypto Raw data-path APIs are a set of APIs designed to enable external
> libraries/applications to leverage the cryptographic processing provided by
> DPDK crypto PMDs through the cryptodev API but in a manner that is not
> dependent on native DPDK data structures (eg. rte_mbuf, rte_crypto_op, ... etc)
> in their data-path implementation.
> 
> The raw data-path APIs have the following advantages:
> - External data structure friendly design. The new APIs uses the operation
>   descriptor ``struct rte_crypto_sym_vec`` that supports raw data pointer and
>   IOVA addresses as input. Moreover, the APIs does not require the user to
>   allocate the descriptor from mempool, nor requiring mbufs to describe input
>   data's virtual and IOVA addresses. All these features made the translation
>   from user's own data structure into the descriptor easier and more efficient.
> - Flexible enqueue and dequeue operation. The raw data-path APIs gives the
>   user more control to the enqueue and dequeue operations, including the
>   capability of precious enqueue/dequeue count, abandoning enqueue or
> dequeue
>   at any time, and operation status translation and set on the fly.
> 
> v13:
> - Fixed a typo.
> 
> v12:
> - Fixed and updated documentation.
> - Fixed typo.
> 
> v11:
> - Rebased on top of latest master.
> - API changed followed by the discussion results.
> - Fixed a few grammar error thanks to Akhil.
> - Reverted attach session API changes.
> - Fixed QAT driver bugs.
> 
> v10:
> - Changed rte_crypto_sym_vec structure to support both sync cpu_crypto and
>   async raw data-path API.
> - Changed documentation.
> - Changed API names.
> - Changed the way data-path context is initialized.
> - Added new API to attach session or xform to existing context.
> - Changed QAT PMD accordingly with new APIs.
> - Changed unit test to use the device feature flag for the raw API tests.
> 
> v9:
> - Changed return types of submit_done() and dequeue_done() APIs.
> - Added release note update.
> 
> v8:
> - Updated following by comments.
> - Fixed a few bugs.
> - Fixed ARM build error.
> - Updated the unit test covering all tests.
> 
> v7:
> - Fixed a few typos.
> - Fixed length calculation bugs.
> 
> v6:
> - Rebased on top of DPDK 20.08.
> - Changed to service ctx and added single job submit/dequeue.
> 
> v5:
> - Changed to use rte_crypto_sym_vec as input.
> - Changed to use public APIs instead of use function pointer.
> 
> v4:
> - Added missed patch.
> 
> v3:
> - Instead of QAT only API, moved the API to cryptodev.
> - Added cryptodev feature flags.
> 
> v2:
> - Used a structure to simplify parameters.
> - Added unit tests.
> - Added documentation.

Added Konstantin's ACK on 1/4 patch.
Fixed a couple of compilation issues in documentation.
Fixed a couple of typos in comments and patch description.

Acked-by: Akhil Goyal <akhil.goyal at nxp.com>

Applied to dpdk-next-crypto

Thanks.



More information about the dev mailing list