Acked-by: Abhinandan Gujjar <abhinandan.guj...@intel.com>
> -----Original Message-----
> From: Akhil Goyal <gak...@marvell.com>
> Sent: Monday, May 2, 2022 12:55 AM
> To: dev@dpdk.org
> Cc: ano...@marvell.com; jer...@marvell.com; Gujjar, Abhinandan S
> <abhinandan.guj...@intel.com>; Jayatheerthan, Jay
> <jay.jayatheert...@intel.com>; Vangati, Narender
> <narender.vang...@intel.com>; vfia...@marvell.com; Akhil Goyal
> <gak...@marvell.com>
> Subject: [PATCH v4 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 v4:
> - added null checks in set API
> - updated check in session destroy
> - updated API comments
> - fixed test app failure reported by Abhinandan.
> - moved event mdata after padding in asym session struct.
>
> 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 | 511 +++++++++++++++++++-
> 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 | 44 ++
> lib/cryptodev/rte_cryptodev.h | 22 +
> lib/cryptodev/version.map | 4 +
> lib/eventdev/rte_event_crypto_adapter.c | 55 +--
> 23 files changed, 1179 insertions(+), 188 deletions(-)
>
> --
> 2.25.1