bdev/crypto: update rte_cryptodev usage for DPDK 22.11
Adjusts use of rte_crypto API after DPDK patch below: (bdce2564dbf78e1fecc0db438b562ae19f0c057c) For DPDK 22.11 and later, rte_cryptodev_sym_session_init() is no longer used and only calling rte_cryptodev_sym_session_create/free(). Change-Id: I89d8fa737fd6c199a4a5a810b85d6d5b79d5d27b Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15391 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
4f4bf8c482
commit
495055b054
@ -20,6 +20,7 @@
|
||||
#include <rte_crypto.h>
|
||||
#include <rte_cryptodev.h>
|
||||
#include <rte_mbuf_dyn.h>
|
||||
#include <rte_version.h>
|
||||
|
||||
/* Used to store IO context in mbuf */
|
||||
static const struct rte_mbuf_dynfield rte_mbuf_dynfield_io_context = {
|
||||
@ -1378,9 +1379,17 @@ _vdev_dev_get(struct vbdev_crypto *vbdev)
|
||||
}
|
||||
|
||||
static void
|
||||
_cryptodev_sym_session_free(void *session)
|
||||
_cryptodev_sym_session_free(struct vbdev_crypto *vbdev, void *session)
|
||||
{
|
||||
#if RTE_VERSION >= RTE_VERSION_NUM(22, 11, 0, 0)
|
||||
struct vbdev_dev *device = _vdev_dev_get(vbdev);
|
||||
|
||||
assert(device != NULL);
|
||||
|
||||
rte_cryptodev_sym_session_free(device->cdev_id, session);
|
||||
#else
|
||||
rte_cryptodev_sym_session_free(session);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void *
|
||||
@ -1388,7 +1397,6 @@ _cryptodev_sym_session_create(struct vbdev_crypto *vbdev, struct rte_crypto_sym_
|
||||
{
|
||||
void *session;
|
||||
struct vbdev_dev *device;
|
||||
int rc = 0;
|
||||
|
||||
device = _vdev_dev_get(vbdev);
|
||||
if (!device) {
|
||||
@ -1396,16 +1404,20 @@ _cryptodev_sym_session_create(struct vbdev_crypto *vbdev, struct rte_crypto_sym_
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if RTE_VERSION >= RTE_VERSION_NUM(22, 11, 0, 0)
|
||||
session = rte_cryptodev_sym_session_create(device->cdev_id, xforms, g_session_mp);
|
||||
#else
|
||||
session = rte_cryptodev_sym_session_create(g_session_mp);
|
||||
if (!session) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rc = rte_cryptodev_sym_session_init(device->cdev_id, session, xforms, g_session_mp_priv);
|
||||
if (rc < 0) {
|
||||
_cryptodev_sym_session_free(session);
|
||||
if (rte_cryptodev_sym_session_init(device->cdev_id, session, xforms, g_session_mp_priv) < 0) {
|
||||
_cryptodev_sym_session_free(vbdev, session);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
return session;
|
||||
}
|
||||
|
||||
@ -1416,8 +1428,8 @@ _device_unregister_cb(void *io_device)
|
||||
struct vbdev_crypto *crypto_bdev = io_device;
|
||||
|
||||
/* Done with this crypto_bdev. */
|
||||
_cryptodev_sym_session_free(crypto_bdev->session_decrypt);
|
||||
_cryptodev_sym_session_free(crypto_bdev->session_encrypt);
|
||||
_cryptodev_sym_session_free(crypto_bdev, crypto_bdev->session_decrypt);
|
||||
_cryptodev_sym_session_free(crypto_bdev, crypto_bdev->session_encrypt);
|
||||
crypto_bdev->opts = NULL;
|
||||
free(crypto_bdev->crypto_bdev.name);
|
||||
free(crypto_bdev);
|
||||
@ -2048,9 +2060,9 @@ vbdev_crypto_claim(const char *bdev_name)
|
||||
|
||||
/* Error cleanup paths. */
|
||||
error_bdev_register:
|
||||
_cryptodev_sym_session_free(vbdev->session_decrypt);
|
||||
_cryptodev_sym_session_free(vbdev, vbdev->session_decrypt);
|
||||
error_session_de_create:
|
||||
_cryptodev_sym_session_free(vbdev->session_encrypt);
|
||||
_cryptodev_sym_session_free(vbdev, vbdev->session_encrypt);
|
||||
error_session_en_create:
|
||||
spdk_bdev_module_release_bdev(vbdev->base_bdev);
|
||||
error_claim:
|
||||
|
@ -260,14 +260,21 @@ DEFINE_STUB(rte_cryptodev_queue_pair_setup, int, (uint8_t dev_id, uint16_t queue
|
||||
DEFINE_STUB(rte_cryptodev_start, int, (uint8_t dev_id), 0);
|
||||
DEFINE_STUB_V(rte_cryptodev_stop, (uint8_t dev_id));
|
||||
DEFINE_STUB(rte_cryptodev_close, int, (uint8_t dev_id), 0);
|
||||
DEFINE_STUB(rte_vdev_init, int, (const char *name, const char *args), 0);
|
||||
DEFINE_STUB(rte_vdev_uninit, int, (const char *name), 0);
|
||||
|
||||
#if RTE_VERSION >= RTE_VERSION_NUM(22, 11, 0, 0)
|
||||
DEFINE_STUB(rte_cryptodev_sym_session_create, void *,
|
||||
(uint8_t dev_id, struct rte_crypto_sym_xform *xforms, struct rte_mempool *mempool), (void *)1);
|
||||
DEFINE_STUB(rte_cryptodev_sym_session_free, int, (uint8_t dev_id, void *sess), 0);
|
||||
#else
|
||||
DEFINE_STUB(rte_cryptodev_sym_session_create, struct rte_cryptodev_sym_session *,
|
||||
(struct rte_mempool *mempool), (void *)1);
|
||||
DEFINE_STUB(rte_cryptodev_sym_session_init, int, (uint8_t dev_id,
|
||||
struct rte_cryptodev_sym_session *sess,
|
||||
struct rte_crypto_sym_xform *xforms, struct rte_mempool *mempool), 0);
|
||||
DEFINE_STUB(rte_vdev_init, int, (const char *name, const char *args), 0);
|
||||
DEFINE_STUB(rte_cryptodev_sym_session_free, int, (struct rte_cryptodev_sym_session *sess), 0);
|
||||
DEFINE_STUB(rte_vdev_uninit, int, (const char *name), 0);
|
||||
#endif
|
||||
|
||||
struct rte_cryptodev *rte_cryptodevs;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user