[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