[PATCH v3 0/7] Add new cryptodev op for event metadata

Gujjar, Abhinandan S abhinandan.gujjar at intel.com
Thu Apr 28 16:24:17 CEST 2022


Acked-by: Abhinandan Gujjar <Abhinandan.gujjar at intel.com>

> -----Original Message-----
> From: Akhil Goyal <gakhil at marvell.com>
> Sent: Thursday, April 21, 2022 8:07 PM
> To: dev at dpdk.org
> Cc: anoobj at marvell.com; jerinj at marvell.com; Gujjar, Abhinandan S
> <abhinandan.gujjar at intel.com>; Jayatheerthan, Jay
> <jay.jayatheerthan at intel.com>; Vangati, Narender
> <narender.vangati at intel.com>; vfialko at marvell.com; Akhil Goyal
> <gakhil at marvell.com>
> Subject: [PATCH v3 0/7] Add new cryptodev op for event metadata
> 
> For using event crypto metadata, event metadata need to be set in session. For
> this session user data was used for symmetric crypto sessions and no support
> was present for asymmetric and security sessions.
> The use of userdata to store event metadata (which is dereferenced in PMD) is
> not correct as it is meant for the application to use it.
> Hence, a new API is created to set and get event crypto metadata which is
> scalable to all sessions supported by the crypto PMD.
> The application can use the set API to set event metadata and the PMD may
> store that inside the session private data and PMD need not use the get API as
> it would be internal to the PMD.
> For the software event crypto adapter implementation, the eventdev library
> can use the get API to get the event metadata stored inside the session
> structure.
> For Asymmetric sessions, a new field is added inside the session struct which is
> internal to library.
> For symmetric and security sessions, new field cannot be added as it would be
> ABI break. Hence, session userdata is being used to store that as it was used
> earlier. In next ABI break release this would be fixed similar to asymmetric
> crypto case.
> 
> The patchset also add support for asymmetric crypto adapter in the test
> applications and the crypto/cnxk implementation of the new cryptodev op and
> corresponding changes in the eventdev lib.
> 
> Changes in v3:
> - fix SW adapter case of memory allocation/free of mdata. mdata is allocated in
> set API and freed in session clear/destroy.
> - mark rte_cryptodev_session_event_mdata_get as internal API as it is only
> needed for the app or the PMD.
> 
> changes in v2:
> - v1 patchset only fixed security sessions and also caused ABI breakage.
> This is fixed in v2.
> - added new API for setting event metadata.
> - added new cryptodev op which can handle all sessions
> 
> 
> Akhil Goyal (5):
>   crypto/octeontx: use new API for event metadata
>   test/event: use new API to set event crypto metadata
>   eventdev: use new API to get event crypto metadata
>   test/event: add asymmetric cases for crypto adapter
>   test-eventdev: support asym ops for crypto adapter
> 
> Volodymyr Fialko (2):
>   cryptodev: add APIs to get/set event metadata
>   crypto/cnxk: add event metadata set operation
> 
>  app/test-eventdev/evt_common.h              |   2 +
>  app/test-eventdev/evt_options.c             |  17 +
>  app/test-eventdev/evt_options.h             |   4 +
>  app/test-eventdev/test_perf_atq.c           |  12 +-
>  app/test-eventdev/test_perf_common.c        | 254 ++++++++--
>  app/test-eventdev/test_perf_common.h        |  45 +-
>  app/test-eventdev/test_perf_queue.c         |  12 +-
>  app/test/test_event_crypto_adapter.c        | 503 +++++++++++++++++++-
>  doc/guides/tools/testeventdev.rst           |   5 +
>  drivers/crypto/cnxk/cn10k_cryptodev_ops.c   | 144 +++++-
>  drivers/crypto/cnxk/cn10k_ipsec.h           |   2 +
>  drivers/crypto/cnxk/cn9k_cryptodev_ops.c    | 138 +++++-
>  drivers/crypto/cnxk/cn9k_ipsec.h            |   2 +
>  drivers/crypto/cnxk/cnxk_ae.h               |   2 +
>  drivers/crypto/cnxk/cnxk_cryptodev_ops.h    |  18 -
>  drivers/crypto/cnxk/cnxk_se.h               |   2 +
>  drivers/crypto/octeontx/otx_cryptodev_ops.c |  20 +-
>  lib/cryptodev/cryptodev_pmd.c               |  16 +
>  lib/cryptodev/cryptodev_pmd.h               |  36 ++
>  lib/cryptodev/rte_cryptodev.c               |  41 ++
>  lib/cryptodev/rte_cryptodev.h               |  22 +
>  lib/cryptodev/version.map                   |   4 +
>  lib/eventdev/rte_event_crypto_adapter.c     |  55 +--
>  23 files changed, 1168 insertions(+), 188 deletions(-)
> 
> --
> 2.25.1



More information about the dev mailing list