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_crypto.h>
|
||||||
#include <rte_cryptodev.h>
|
#include <rte_cryptodev.h>
|
||||||
#include <rte_mbuf_dyn.h>
|
#include <rte_mbuf_dyn.h>
|
||||||
|
#include <rte_version.h>
|
||||||
|
|
||||||
/* Used to store IO context in mbuf */
|
/* Used to store IO context in mbuf */
|
||||||
static const struct rte_mbuf_dynfield rte_mbuf_dynfield_io_context = {
|
static const struct rte_mbuf_dynfield rte_mbuf_dynfield_io_context = {
|
||||||
@ -1378,9 +1379,17 @@ _vdev_dev_get(struct vbdev_crypto *vbdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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);
|
rte_cryptodev_sym_session_free(session);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
@ -1388,7 +1397,6 @@ _cryptodev_sym_session_create(struct vbdev_crypto *vbdev, struct rte_crypto_sym_
|
|||||||
{
|
{
|
||||||
void *session;
|
void *session;
|
||||||
struct vbdev_dev *device;
|
struct vbdev_dev *device;
|
||||||
int rc = 0;
|
|
||||||
|
|
||||||
device = _vdev_dev_get(vbdev);
|
device = _vdev_dev_get(vbdev);
|
||||||
if (!device) {
|
if (!device) {
|
||||||
@ -1396,16 +1404,20 @@ _cryptodev_sym_session_create(struct vbdev_crypto *vbdev, struct rte_crypto_sym_
|
|||||||
return NULL;
|
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);
|
session = rte_cryptodev_sym_session_create(g_session_mp);
|
||||||
if (!session) {
|
if (!session) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = rte_cryptodev_sym_session_init(device->cdev_id, session, xforms, g_session_mp_priv);
|
if (rte_cryptodev_sym_session_init(device->cdev_id, session, xforms, g_session_mp_priv) < 0) {
|
||||||
if (rc < 0) {
|
_cryptodev_sym_session_free(vbdev, session);
|
||||||
_cryptodev_sym_session_free(session);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1416,8 +1428,8 @@ _device_unregister_cb(void *io_device)
|
|||||||
struct vbdev_crypto *crypto_bdev = io_device;
|
struct vbdev_crypto *crypto_bdev = io_device;
|
||||||
|
|
||||||
/* Done with this crypto_bdev. */
|
/* Done with this crypto_bdev. */
|
||||||
_cryptodev_sym_session_free(crypto_bdev->session_decrypt);
|
_cryptodev_sym_session_free(crypto_bdev, crypto_bdev->session_decrypt);
|
||||||
_cryptodev_sym_session_free(crypto_bdev->session_encrypt);
|
_cryptodev_sym_session_free(crypto_bdev, crypto_bdev->session_encrypt);
|
||||||
crypto_bdev->opts = NULL;
|
crypto_bdev->opts = NULL;
|
||||||
free(crypto_bdev->crypto_bdev.name);
|
free(crypto_bdev->crypto_bdev.name);
|
||||||
free(crypto_bdev);
|
free(crypto_bdev);
|
||||||
@ -2048,9 +2060,9 @@ vbdev_crypto_claim(const char *bdev_name)
|
|||||||
|
|
||||||
/* Error cleanup paths. */
|
/* Error cleanup paths. */
|
||||||
error_bdev_register:
|
error_bdev_register:
|
||||||
_cryptodev_sym_session_free(vbdev->session_decrypt);
|
_cryptodev_sym_session_free(vbdev, vbdev->session_decrypt);
|
||||||
error_session_de_create:
|
error_session_de_create:
|
||||||
_cryptodev_sym_session_free(vbdev->session_encrypt);
|
_cryptodev_sym_session_free(vbdev, vbdev->session_encrypt);
|
||||||
error_session_en_create:
|
error_session_en_create:
|
||||||
spdk_bdev_module_release_bdev(vbdev->base_bdev);
|
spdk_bdev_module_release_bdev(vbdev->base_bdev);
|
||||||
error_claim:
|
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(rte_cryptodev_start, int, (uint8_t dev_id), 0);
|
||||||
DEFINE_STUB_V(rte_cryptodev_stop, (uint8_t dev_id));
|
DEFINE_STUB_V(rte_cryptodev_stop, (uint8_t dev_id));
|
||||||
DEFINE_STUB(rte_cryptodev_close, int, (uint8_t dev_id), 0);
|
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 *,
|
DEFINE_STUB(rte_cryptodev_sym_session_create, struct rte_cryptodev_sym_session *,
|
||||||
(struct rte_mempool *mempool), (void *)1);
|
(struct rte_mempool *mempool), (void *)1);
|
||||||
DEFINE_STUB(rte_cryptodev_sym_session_init, int, (uint8_t dev_id,
|
DEFINE_STUB(rte_cryptodev_sym_session_init, int, (uint8_t dev_id,
|
||||||
struct rte_cryptodev_sym_session *sess,
|
struct rte_cryptodev_sym_session *sess,
|
||||||
struct rte_crypto_sym_xform *xforms, struct rte_mempool *mempool), 0);
|
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_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;
|
struct rte_cryptodev *rte_cryptodevs;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user