> -----Original Message-----
> From: Akhil Goyal <gak...@marvell.com>
> Sent: Thursday, April 21, 2022 3:37 PM
> 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 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
Series-acked-by: Fan Zhang <roy.fan.zh...@intel.com>