From: Akhil Goyal <gakhil@marvell.com>
To: Shiri Kuzin <shirik@nvidia.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "matan@nvidia.com" <matan@nvidia.com>,
"suanmingm@nvidia.com" <suanmingm@nvidia.com>,
"david.marchand@redhat.com" <david.marchand@redhat.com>
Subject: Re: [dpdk-dev] [EXT] [PATCH v8 02/16] crypto/mlx5: add DEK object management
Date: Fri, 16 Jul 2021 19:26:16 +0000 [thread overview]
Message-ID: <CO6PR18MB4484138EE6D68F545B01A2FED8119@CO6PR18MB4484.namprd18.prod.outlook.com> (raw)
In-Reply-To: <20210715164126.54073-3-shirik@nvidia.com>
> A DEK(Data encryption Key) is an mlx5 HW object which represents the
> cipher algorithm key.
> The DEKs are used during data encryption/decryption operations.
>
> In symmetric algorithms like AES-STS, we use the same DEK for both
> encryption and decryption.
>
> Use the mlx5 hash-list tool to manage the DEK objects in the PMD.
>
> Provide the compare, create and destroy functions to manage DEKs in
> hash-list and introduce an internal API to setup and unset the DEK
> management and to prepare and destroy specific DEK object.
>
> The DEK hash-list will be created in dev_configure routine and
> destroyed in dev_close routine.
>
> Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
> ---
> drivers/crypto/mlx5/meson.build | 1 +
> drivers/crypto/mlx5/mlx5_crypto.c | 42 ++++---
> drivers/crypto/mlx5/mlx5_crypto.h | 51 ++++++++
> drivers/crypto/mlx5/mlx5_crypto_dek.c | 161
> ++++++++++++++++++++++++++
> 4 files changed, 239 insertions(+), 16 deletions(-)
> create mode 100644 drivers/crypto/mlx5/mlx5_crypto.h
> create mode 100644 drivers/crypto/mlx5/mlx5_crypto_dek.c
>
> diff --git a/drivers/crypto/mlx5/meson.build
> b/drivers/crypto/mlx5/meson.build
> index 6fd70bc477..d55cdbfe6f 100644
> --- a/drivers/crypto/mlx5/meson.build
> +++ b/drivers/crypto/mlx5/meson.build
> @@ -11,6 +11,7 @@ fmt_name = 'mlx5_crypto'
> deps += ['common_mlx5', 'eal', 'cryptodev']
> sources = files(
> 'mlx5_crypto.c',
> + 'mlx5_crypto_dek.c',
> )
> cflags_options = [
> '-std=c11',
> diff --git a/drivers/crypto/mlx5/mlx5_crypto.c
> b/drivers/crypto/mlx5/mlx5_crypto.c
> index fbe3c21aae..d2d82c7b15 100644
> --- a/drivers/crypto/mlx5/mlx5_crypto.c
> +++ b/drivers/crypto/mlx5/mlx5_crypto.c
> @@ -3,12 +3,9 @@
> */
>
> #include <rte_malloc.h>
> -#include <rte_log.h>
> #include <rte_errno.h>
> +#include <rte_log.h>
> #include <rte_pci.h>
> -#include <rte_crypto.h>
> -#include <rte_cryptodev.h>
> -#include <rte_cryptodev_pmd.h>
There is some issue in the splitting of the patches,
The above headers are added in first patch and moved to a header file in this patch.
Take reference of the cnxk crypto driver which got merged recently.
>
> #include <mlx5_glue.h>
> #include <mlx5_common.h>
> @@ -17,6 +14,7 @@
> #include <mlx5_common_os.h>
>
> #include "mlx5_crypto_utils.h"
> +#include "mlx5_crypto.h"
>
> #define MLX5_CRYPTO_DRIVER_NAME mlx5_crypto
> #define MLX5_CRYPTO_LOG_NAME pmd.crypto.mlx5
> @@ -24,16 +22,6 @@
> #define MLX5_CRYPTO_FEATURE_FLAGS \
> RTE_CRYPTODEV_FF_HW_ACCELERATED
>
> -struct mlx5_crypto_priv {
> - TAILQ_ENTRY(mlx5_crypto_priv) next;
> - struct ibv_context *ctx; /* Device context. */
> - struct rte_pci_device *pci_dev;
> - struct rte_cryptodev *crypto_dev;
> - void *uar; /* User Access Region. */
> - uint32_t pdn; /* Protection Domain number. */
> - struct ibv_pd *pd;
> -};
> -
> TAILQ_HEAD(mlx5_crypto_privs, mlx5_crypto_priv) mlx5_crypto_priv_list =
>
> TAILQ_HEAD_INITIALIZER(mlx5_crypto_priv_list);
> static pthread_mutex_t priv_list_lock = PTHREAD_MUTEX_INITIALIZER;
> @@ -51,11 +39,33 @@ static const struct rte_driver mlx5_drv = {
>
> static struct cryptodev_driver mlx5_cryptodev_driver;
>
> +static int
> +mlx5_crypto_dev_configure(struct rte_cryptodev *dev,
> + struct rte_cryptodev_config *config __rte_unused)
> +{
> + struct mlx5_crypto_priv *priv = dev->data->dev_private;
> +
> + if (mlx5_crypto_dek_setup(priv) != 0) {
> + DRV_LOG(ERR, "Dek hash list creation has failed.");
> + return -ENOMEM;
> + }
> + return 0;
> +}
> +
> +static int
> +mlx5_crypto_dev_close(struct rte_cryptodev *dev)
> +{
> + struct mlx5_crypto_priv *priv = dev->data->dev_private;
> +
> + mlx5_crypto_dek_unset(priv);
> + return 0;
> +}
> +
> static struct rte_cryptodev_ops mlx5_crypto_ops = {
> - .dev_configure = NULL,
> + .dev_configure = mlx5_crypto_dev_configure,
> .dev_start = NULL,
> .dev_stop = NULL,
> - .dev_close = NULL,
> + .dev_close = mlx5_crypto_dev_close,
> .dev_infos_get = NULL,
> .stats_get = NULL,
> .stats_reset = NULL,
> diff --git a/drivers/crypto/mlx5/mlx5_crypto.h
> b/drivers/crypto/mlx5/mlx5_crypto.h
> new file mode 100644
> index 0000000000..167e9e57ad
> --- /dev/null
> +++ b/drivers/crypto/mlx5/mlx5_crypto.h
> @@ -0,0 +1,51 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright (c) 2021 NVIDIA Corporation & Affiliates
> + */
> +
> +#ifndef MLX5_CRYPTO_H_
> +#define MLX5_CRYPTO_H_
> +
> +#include <stdbool.h>
> +
> +#include <rte_cryptodev.h>
> +#include <rte_cryptodev_pmd.h>
> +
> +#include <mlx5_common_utils.h>
> +
> +#define MLX5_CRYPTO_DEK_HTABLE_SZ (1 << 11)
> +#define MLX5_CRYPTO_KEY_LENGTH 80
> +
> +struct mlx5_crypto_priv {
> + TAILQ_ENTRY(mlx5_crypto_priv) next;
> + struct ibv_context *ctx; /* Device context. */
> + struct rte_pci_device *pci_dev;
> + struct rte_cryptodev *crypto_dev;
> + void *uar; /* User Access Region. */
> + uint32_t pdn; /* Protection Domain number. */
> + struct ibv_pd *pd;
> + struct mlx5_hlist *dek_hlist; /* Dek hash list. */
> +};
> +
> +struct mlx5_crypto_dek {
> + struct mlx5_list_entry entry; /* Pointer to DEK hash list entry. */
> + struct mlx5_devx_obj *obj; /* Pointer to DEK DevX object. */
> + uint8_t data[MLX5_CRYPTO_KEY_LENGTH]; /* DEK key data. */
> + bool size_is_48; /* Whether the key\data size is 48 bytes or not. */
> +} __rte_cache_aligned;
> +
> +int
> +mlx5_crypto_dek_destroy(struct mlx5_crypto_priv *priv,
> + struct mlx5_crypto_dek *dek);
> +
> +struct mlx5_crypto_dek *
> +mlx5_crypto_dek_prepare(struct mlx5_crypto_priv *priv,
> + struct rte_crypto_cipher_xform *cipher);
> +
> +int
> +mlx5_crypto_dek_setup(struct mlx5_crypto_priv *priv);
> +
> +void
> +mlx5_crypto_dek_unset(struct mlx5_crypto_priv *priv);
> +
> +#endif /* MLX5_CRYPTO_H_ */
> +
> diff --git a/drivers/crypto/mlx5/mlx5_crypto_dek.c
> b/drivers/crypto/mlx5/mlx5_crypto_dek.c
> new file mode 100644
> index 0000000000..43d1bcc9f8
> --- /dev/null
> +++ b/drivers/crypto/mlx5/mlx5_crypto_dek.c
> @@ -0,0 +1,161 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright (c) 2021 NVIDIA Corporation & Affiliates
> + */
> +
> +#include <rte_ip.h>
> +#include <rte_common.h>
> +#include <rte_errno.h>
> +#include <rte_log.h>
> +
> +#include <mlx5_prm.h>
> +#include <mlx5_devx_cmds.h>
> +
> +#include "mlx5_crypto_utils.h"
> +#include "mlx5_crypto.h"
> +
> +struct mlx5_crypto_dek_ctx {
> + struct rte_crypto_cipher_xform *cipher;
> + struct mlx5_crypto_priv *priv;
> +};
> +
> +int
> +mlx5_crypto_dek_destroy(struct mlx5_crypto_priv *priv,
> + struct mlx5_crypto_dek *dek)
> +{
> + return mlx5_hlist_unregister(priv->dek_hlist, &dek->entry);
> +}
> +
> +struct mlx5_crypto_dek *
> +mlx5_crypto_dek_prepare(struct mlx5_crypto_priv *priv,
> + struct rte_crypto_cipher_xform *cipher)
> +{
> + struct mlx5_hlist *dek_hlist = priv->dek_hlist;
> + struct mlx5_crypto_dek_ctx dek_ctx = {
> + .cipher = cipher,
> + .priv = priv,
> + };
> + struct rte_crypto_cipher_xform *cipher_ctx = cipher;
> + uint64_t key64 = __rte_raw_cksum(cipher_ctx->key.data,
> + cipher_ctx->key.length, 0);
> + struct mlx5_list_entry *entry = mlx5_hlist_register(dek_hlist,
> + key64, &dek_ctx);
> +
> + return entry == NULL ? NULL :
> + container_of(entry, struct mlx5_crypto_dek,
> entry);
> +}
> +
> +static struct mlx5_list_entry *
> +mlx5_crypto_dek_clone_cb(void *tool_ctx __rte_unused,
> + struct mlx5_list_entry *oentry,
> + void *cb_ctx __rte_unused)
> +{
> + struct mlx5_crypto_dek *entry = rte_zmalloc(__func__,
> sizeof(*entry),
> + RTE_CACHE_LINE_SIZE);
> +
> + if (!entry) {
> + DRV_LOG(ERR, "Cannot allocate dek resource memory.");
> + rte_errno = ENOMEM;
> + return NULL;
> + }
> + memcpy(entry, oentry, sizeof(*entry));
> + return &entry->entry;
> +}
> +
> +static void
> +mlx5_crypto_dek_clone_free_cb(void *tool_ctx __rte_unused,
> + struct mlx5_list_entry *entry)
> +{
> + struct mlx5_crypto_dek *dek = container_of(entry,
> + struct mlx5_crypto_dek,
> entry);
> +
> + rte_free(dek);
> +}
> +
> +static int
> +mlx5_crypto_dek_match_cb(void *tool_ctx __rte_unused,
> + struct mlx5_list_entry *entry, void *cb_ctx)
> +{
> + struct mlx5_crypto_dek_ctx *ctx = cb_ctx;
> + struct rte_crypto_cipher_xform *cipher_ctx = ctx->cipher;
> + struct mlx5_crypto_dek *dek =
> + container_of(entry, typeof(*dek), entry);
> + uint32_t key_len = dek->size_is_48 ? 48 : 80;
> +
> + if (key_len != cipher_ctx->key.length)
> + return -1;
> + return memcmp(cipher_ctx->key.data, dek->data, key_len);
> +}
> +
> +static struct mlx5_list_entry *
> +mlx5_crypto_dek_create_cb(void *tool_ctx __rte_unused, void *cb_ctx)
> +{
> + struct mlx5_crypto_dek_ctx *ctx = cb_ctx;
> + struct rte_crypto_cipher_xform *cipher_ctx = ctx->cipher;
> + struct mlx5_crypto_dek *dek = rte_zmalloc(__func__, sizeof(*dek),
> + RTE_CACHE_LINE_SIZE);
> + struct mlx5_devx_dek_attr dek_attr = {
> + .pd = ctx->priv->pdn,
> + .key_purpose = MLX5_CRYPTO_KEY_PURPOSE_AES_XTS,
> + .has_keytag = 1,
> + };
> +
> + if (dek == NULL) {
> + DRV_LOG(ERR, "Failed to allocate dek memory.");
> + return NULL;
> + }
> + switch (cipher_ctx->key.length) {
> + case 48:
> + dek->size_is_48 = true;
> + dek_attr.key_size = MLX5_CRYPTO_KEY_SIZE_128b;
> + break;
> + case 80:
> + dek->size_is_48 = false;
> + dek_attr.key_size = MLX5_CRYPTO_KEY_SIZE_256b;
> + break;
> + default:
> + DRV_LOG(ERR, "Key size not supported.");
> + return NULL;
> + }
> + memcpy(&dek_attr.key, cipher_ctx->key.data, cipher_ctx-
> >key.length);
> + dek->obj = mlx5_devx_cmd_create_dek_obj(ctx->priv->ctx,
> &dek_attr);
> + if (dek->obj == NULL) {
> + rte_free(dek);
> + return NULL;
> + }
> + memcpy(&dek->data, cipher_ctx->key.data, cipher_ctx->key.length);
> + return &dek->entry;
> +}
> +
> +static void
> +mlx5_crypto_dek_remove_cb(void *tool_ctx __rte_unused,
> + struct mlx5_list_entry *entry)
> +{
> + struct mlx5_crypto_dek *dek =
> + container_of(entry, typeof(*dek), entry);
> +
> + claim_zero(mlx5_devx_cmd_destroy(dek->obj));
> + rte_free(dek);
> +}
> +
> +
Extra line...
> +int
> +mlx5_crypto_dek_setup(struct mlx5_crypto_priv *priv)
> +{
> + priv->dek_hlist = mlx5_hlist_create("dek_hlist",
> + MLX5_CRYPTO_DEK_HTABLE_SZ,
> + 0, 1, NULL, mlx5_crypto_dek_create_cb,
> + mlx5_crypto_dek_match_cb,
> + mlx5_crypto_dek_remove_cb,
> + mlx5_crypto_dek_clone_cb,
> + mlx5_crypto_dek_clone_free_cb);
> + if (priv->dek_hlist == NULL)
> + return -1;
> + return 0;
> +}
> +
> +void
> +mlx5_crypto_dek_unset(struct mlx5_crypto_priv *priv)
> +{
> + mlx5_hlist_destroy(priv->dek_hlist);
> + priv->dek_hlist = NULL;
> +}
> --
> 2.27.0
next prev parent reply other threads:[~2021-07-16 19:26 UTC|newest]
Thread overview: 278+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 7:26 [dpdk-dev] [RFC] drivers: introduce mlx5 crypto PMD Matan Azrad
2021-04-08 20:48 ` [dpdk-dev] [PATCH 00/24] " Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 01/24] common/mlx5: remove redundant spaces in header file Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 02/24] common/mlx5: update GENEVE TLV OPT obj name Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 03/24] common/mlx5: optimize read of general obj type caps Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 04/24] common/mlx5: add HCA cap for AES-XTS crypto Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 05/24] common/mlx5: support general object DEK create op Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 06/24] common/mlx5: add crypto en field to MKEY context Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 07/24] common/mlx5: support umr en field in " Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 08/24] common/mlx5: support general obj IMPORT KEK create Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 09/24] common/mlx5: support general obj CRYPTO LOGIN create Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 10/24] common/mlx5: add crypto BSF struct and defines Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 11/24] common/mlx5: share hash list tool Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 12/24] common/mlx5: share get ib device match function Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 13/24] common/mlx5: support general obj CREDENTIAL create Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 14/24] common/mlx5: add crypto register structs and defs Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 15/24] common/mlx5: support register write access Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 16/24] drivers: introduce mlx5 crypto PMD Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 17/24] crypto/mlx5: add DEK object management Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 18/24] crypto/mlx5: support session operations Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 19/24] crypto/mlx5: add basic operations Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 20/24] crypto/mlx5: support queue pairs operations Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 21/24] crypto/mlx5: add dev stop and start operations Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 22/24] crypto/mlx5: add memory region management Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 23/24] crypto/mlx5: create login object using DevX Shiri Kuzin
2021-04-08 20:48 ` [dpdk-dev] [PATCH 24/24] crypto/mlx5: adjust to the multiple data unit API Shiri Kuzin
2021-04-13 18:02 ` [dpdk-dev] [EXT] [PATCH 00/24] drivers: introduce mlx5 crypto PMD Akhil Goyal
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 00/16] mlx5 common part for crypto driver Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 01/16] common/mlx5: remove redundant spaces in header file Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 02/16] common/mlx5: update GENEVE TLV OPT obj name Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 03/16] common/mlx5: optimize read of general obj type caps Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 04/16] common/mlx5: add HCA cap for AES-XTS crypto Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 05/16] common/mlx5: support general object DEK create op Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 06/16] common/mlx5: adjust DevX MKEY fields for crypto Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 07/16] common/mlx5: fix cypto bsf attr Matan Azrad
2021-04-29 15:56 ` Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 08/16] common/mlx5: support general obj IMPORT KEK create Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 09/16] common/mlx5: support general obj CRYPTO LOGIN create Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 10/16] common/mlx5: add crypto BSF struct and defines Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 11/16] common/mlx5: share hash list tool Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 12/16] common/mlx5: share get ib device match function Matan Azrad
2021-05-04 10:55 ` Thomas Monjalon
2021-05-04 11:30 ` Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 13/16] common/mlx5: support general obj CREDENTIAL create Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 14/16] common/mlx5: add crypto register structs and defs Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 15/16] common/mlx5: support register write access Matan Azrad
2021-05-04 10:58 ` Thomas Monjalon
2021-05-04 11:32 ` Matan Azrad
2021-04-29 15:43 ` [dpdk-dev] [PATCH v2 16/16] common/mlx5: add UMR and RDMA write WQE defines Matan Azrad
2021-05-02 7:27 ` [dpdk-dev] [PATCH v2 00/16] mlx5 common part for crypto driver Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 00/15] " Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 01/15] common/mlx5: remove redundant spaces in header file Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 02/15] common/mlx5: update GENEVE TLV OPT obj name Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 03/15] common/mlx5: optimize read of general obj type caps Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 04/15] common/mlx5: add HCA cap for AES-XTS crypto Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 05/15] common/mlx5: support general object DEK create op Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 06/15] common/mlx5: adjust DevX MKEY fields for crypto Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 07/15] common/mlx5: support general obj IMPORT KEK create Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 08/15] common/mlx5: support general obj CRYPTO LOGIN create Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 09/15] common/mlx5: add crypto BSF struct and defines Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 10/15] common/mlx5: share hash list tool Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 11/15] common/mlx5: share get ib device match function Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 12/15] common/mlx5: support general obj CREDENTIAL create Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 13/15] common/mlx5: add crypto register structs and defs Matan Azrad
2021-05-04 17:54 ` [dpdk-dev] [PATCH v3 14/15] common/mlx5: support register write access Matan Azrad
2021-05-04 17:55 ` [dpdk-dev] [PATCH v3 15/15] common/mlx5: add UMR and RDMA write WQE defines Matan Azrad
2021-05-04 21:17 ` [dpdk-dev] [PATCH v3 00/15] mlx5 common part for crypto driver Thomas Monjalon
2021-04-29 15:46 ` [dpdk-dev] [PATCH v2 00/15] drivers: introduce mlx5 crypto PMD Matan Azrad
2021-04-29 15:46 ` [dpdk-dev] [PATCH v2 01/15] " Matan Azrad
2021-04-29 15:46 ` [dpdk-dev] [PATCH v2 02/15] crypto/mlx5: add DEK object management Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 03/15] crypto/mlx5: support session operations Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 04/15] crypto/mlx5: add basic operations Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 05/15] crypto/mlx5: support queue pairs operations Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 06/15] crypto/mlx5: add dev stop and start operations Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 07/15] crypto/mlx5: add memory region management Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 08/15] crypto/mlx5: create login object using DevX Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 09/15] crypto/mlx5: adjust to the multiple data unit API Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 10/15] crypto/mlx5: add keytag device argument Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 11/15] crypto/mlx5: add maximum segments " Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 12/15] crypto/mlx5: add WQE set initialization Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 13/15] crypto/mlx5: add enqueue and dequeue operations Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 14/15] crypto/mlx5: add statistic get and reset operations Matan Azrad
2021-04-29 15:47 ` [dpdk-dev] [PATCH v2 15/15] crypto/mlx5: set feature flags and capabilities Matan Azrad
2021-05-02 7:27 ` [dpdk-dev] [PATCH v2 00/15] drivers: introduce mlx5 crypto PMD Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 " Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 01/15] " Matan Azrad
2021-05-08 11:16 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-05-09 7:46 ` Matan Azrad
2021-05-09 9:32 ` Akhil Goyal
2021-05-09 14:25 ` Matan Azrad
2021-05-11 17:24 ` Akhil Goyal
2021-05-12 5:32 ` Matan Azrad
2021-05-12 5:43 ` Akhil Goyal
2021-05-10 8:49 ` Bruce Richardson
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 02/15] crypto/mlx5: add DEK object management Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 03/15] crypto/mlx5: support session operations Matan Azrad
2021-05-08 12:44 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-05-09 8:03 ` Matan Azrad
2021-05-09 9:21 ` Akhil Goyal
2021-05-09 14:25 ` Matan Azrad
2021-05-11 17:30 ` Akhil Goyal
2021-05-12 5:51 ` Matan Azrad
2021-05-12 6:47 ` Akhil Goyal
2021-05-12 7:25 ` Matan Azrad
2021-05-12 7:01 ` Thomas Monjalon
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 04/15] crypto/mlx5: add basic operations Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 05/15] crypto/mlx5: support queue pairs operations Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 06/15] crypto/mlx5: add dev stop and start operations Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 07/15] crypto/mlx5: add memory region management Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 08/15] crypto/mlx5: create login object using DevX Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 09/15] crypto/mlx5: adjust to the multiple data unit API Matan Azrad
2021-05-08 12:27 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-05-09 8:05 ` Matan Azrad
2021-05-09 9:19 ` Akhil Goyal
2021-05-09 14:24 ` Matan Azrad
2021-05-11 17:34 ` Akhil Goyal
2021-05-12 5:53 ` Matan Azrad
2021-05-12 6:49 ` Akhil Goyal
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 10/15] crypto/mlx5: add keytag device argument Matan Azrad
2021-05-08 12:31 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-05-09 8:31 ` Matan Azrad
2021-05-09 8:56 ` Thomas Monjalon
2021-05-09 15:41 ` Matan Azrad
2021-05-09 9:17 ` Akhil Goyal
2021-05-09 14:23 ` Matan Azrad
2021-05-11 17:38 ` Akhil Goyal
2021-05-12 5:57 ` Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 11/15] crypto/mlx5: add maximum segments " Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 12/15] crypto/mlx5: add WQE set initialization Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 13/15] crypto/mlx5: add enqueue and dequeue operations Matan Azrad
2021-05-08 12:18 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-05-09 8:32 ` Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 14/15] crypto/mlx5: add statistic get and reset operations Matan Azrad
2021-05-04 21:08 ` [dpdk-dev] [PATCH v3 15/15] crypto/mlx5: set feature flags and capabilities Matan Azrad
2021-05-08 12:13 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-05-09 8:47 ` Matan Azrad
2021-05-09 9:14 ` Akhil Goyal
2021-05-09 14:19 ` Matan Azrad
2021-05-11 18:04 ` Akhil Goyal
2021-05-12 6:07 ` Matan Azrad
2021-05-12 6:55 ` Akhil Goyal
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 00/14] drivers: introduce mlx5 crypto PMD Matan Azrad
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 01/14] " Matan Azrad
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 02/14] crypto/mlx5: add DEK object management Matan Azrad
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 03/14] crypto/mlx5: add session operations Matan Azrad
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 04/14] crypto/mlx5: add basic operations Matan Azrad
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 05/14] crypto/mlx5: add queue pairs operations Matan Azrad
2021-05-09 16:04 ` [dpdk-dev] [PATCH v4 06/14] crypto/mlx5: add dev stop and start operations Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 07/14] crypto/mlx5: add memory region management Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 08/14] crypto/mlx5: create login object using DevX Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 09/14] crypto/mlx5: add keytag devarg Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 10/14] crypto/mlx5: add maximum segments devarg Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 11/14] crypto/mlx5: add WQE set initialization Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 12/14] crypto/mlx5: add enqueue and dequeue operations Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 13/14] crypto/mlx5: add statistic get and reset operations Matan Azrad
2021-05-09 16:05 ` [dpdk-dev] [PATCH v4 14/14] crypto/mlx5: set feature flags and capabilities Matan Azrad
2021-07-01 13:25 ` [dpdk-dev] [PATCH v5 00/15] drivers: introduce mlx5 crypto PMD Shiri Kuzin
2021-07-01 13:25 ` [dpdk-dev] [PATCH v5 01/15] " Shiri Kuzin
2021-07-01 13:58 ` David Marchand
2021-07-01 13:25 ` [dpdk-dev] [PATCH v5 02/15] crypto/mlx5: add DEK object management Shiri Kuzin
2021-07-01 13:25 ` [dpdk-dev] [PATCH v5 03/15] crypto/mlx5: add session operations Shiri Kuzin
2021-07-01 13:25 ` [dpdk-dev] [PATCH v5 04/15] crypto/mlx5: add basic operations Shiri Kuzin
2021-07-01 13:25 ` [dpdk-dev] [PATCH v5 05/15] crypto/mlx5: add queue pairs operations Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 06/15] crypto/mlx5: add dev stop and start operations Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 07/15] crypto/mlx5: add memory region management Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 08/15] crypto/mlx5: create login object using DevX Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 09/15] crypto/mlx5: add keytag devarg Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 10/15] crypto/mlx5: add maximum segments devarg Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 11/15] crypto/mlx5: add WQE set initialization Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 12/15] crypto/mlx5: add enqueue and dequeue operations Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 13/15] crypto/mlx5: add statistic get and reset operations Shiri Kuzin
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 14/15] test/crypto: add mlx5 crypto driver Shiri Kuzin
2021-07-06 8:47 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-06 9:04 ` Thomas Monjalon
2021-07-01 13:26 ` [dpdk-dev] [PATCH v5 15/15] test/crypto: add mlx5 multi segment tests Shiri Kuzin
2021-07-06 7:48 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-06 9:11 ` Shiri Kuzin
2021-07-06 9:37 ` Akhil Goyal
2021-07-06 10:37 ` Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 00/15] drivers: introduce mlx5 crypto PMD Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 01/15] " Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 02/15] crypto/mlx5: add DEK object management Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 03/15] crypto/mlx5: add session operations Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 04/15] crypto/mlx5: add basic operations Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 05/15] crypto/mlx5: add queue pairs operations Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 06/15] crypto/mlx5: add dev stop and start operations Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 07/15] crypto/mlx5: add memory region management Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 08/15] crypto/mlx5: create login object using DevX Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 09/15] crypto/mlx5: add keytag devarg Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 10/15] crypto/mlx5: add maximum segments devarg Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 11/15] crypto/mlx5: add WQE set initialization Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 12/15] crypto/mlx5: add enqueue and dequeue operations Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 13/15] crypto/mlx5: add statistic get and reset operations Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 14/15] test/crypto: add mlx5 crypto driver Shiri Kuzin
2021-07-08 15:25 ` [dpdk-dev] [PATCH v6 15/15] test/crypto: add data-unit and wrapped vectors Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 00/16] drivers: introduce mlx5 crypto PMD Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 01/16] " Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 02/16] crypto/mlx5: add DEK object management Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 03/16] crypto/mlx5: add session operations Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 04/16] crypto/mlx5: add basic operations Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 05/16] crypto/mlx5: add queue pairs operations Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 06/16] crypto/mlx5: add dev stop and start operations Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 07/16] crypto/mlx5: add memory region management Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 08/16] crypto/mlx5: create login object using DevX Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 09/16] crypto/mlx5: add keytag devarg Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 10/16] crypto/mlx5: add maximum segments devarg Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 11/16] crypto/mlx5: add WQE set initialization Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 12/16] crypto/mlx5: add enqueue and dequeue operations Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 13/16] crypto/mlx5: add statistic get and reset operations Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 14/16] test/crypto: add mlx5 crypto driver Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 15/16] test/crypto: add data-unit and wrapped vectors Shiri Kuzin
2021-07-15 15:08 ` [dpdk-dev] [PATCH v7 16/16] test/crypto: add AES-XTS multi segment OOP tests Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 00/16] drivers: introduce mlx5 crypto PMD Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 01/16] " Shiri Kuzin
2021-07-16 19:19 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-20 8:26 ` Suanming Mou
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 02/16] crypto/mlx5: add DEK object management Shiri Kuzin
2021-07-16 19:26 ` Akhil Goyal [this message]
2021-07-20 8:31 ` [dpdk-dev] [EXT] " Suanming Mou
2021-07-20 8:36 ` Akhil Goyal
2021-07-20 8:49 ` Suanming Mou
2021-07-20 8:55 ` Akhil Goyal
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 03/16] crypto/mlx5: add session operations Shiri Kuzin
2021-07-16 19:40 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-20 8:59 ` Suanming Mou
2021-07-20 9:01 ` Akhil Goyal
2021-07-16 19:43 ` Akhil Goyal
2021-07-20 9:07 ` Suanming Mou
2021-07-20 9:43 ` Akhil Goyal
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 04/16] crypto/mlx5: add basic operations Shiri Kuzin
2021-07-16 19:34 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-20 8:33 ` Suanming Mou
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 05/16] crypto/mlx5: add queue pairs operations Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 06/16] crypto/mlx5: add dev stop and start operations Shiri Kuzin
2021-07-16 19:44 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-20 9:08 ` Suanming Mou
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 07/16] crypto/mlx5: add memory region management Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 08/16] crypto/mlx5: create login object using DevX Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 09/16] crypto/mlx5: add keytag devarg Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 10/16] crypto/mlx5: add maximum segments devarg Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 11/16] crypto/mlx5: add WQE set initialization Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 12/16] crypto/mlx5: add enqueue and dequeue operations Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 13/16] crypto/mlx5: add statistic get and reset operations Shiri Kuzin
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 14/16] test/crypto: add mlx5 crypto driver Shiri Kuzin
2021-07-16 19:55 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 15/16] test/crypto: add data-unit and wrapped vectors Shiri Kuzin
2021-07-16 20:06 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-20 9:24 ` Suanming Mou
2021-07-20 9:50 ` Akhil Goyal
2021-07-15 16:41 ` [dpdk-dev] [PATCH v8 16/16] test/crypto: add AES-XTS multi segment OOP tests Shiri Kuzin
2021-07-16 20:10 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-16 19:05 ` [dpdk-dev] [EXT] [PATCH v8 00/16] drivers: introduce mlx5 crypto PMD Akhil Goyal
2021-07-16 20:17 ` Akhil Goyal
2021-07-20 8:13 ` Akhil Goyal
2021-07-20 8:22 ` Suanming Mou
2021-07-20 8:38 ` Akhil Goyal
2021-07-20 8:41 ` Akhil Goyal
2021-07-20 8:44 ` Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 00/15] " Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 01/15] " Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 02/15] crypto/mlx5: add DEK object management Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 03/15] crypto/mlx5: add basic operations Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 04/15] crypto/mlx5: add queue pairs operations Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 05/15] crypto/mlx5: add session operations Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 06/15] crypto/mlx5: add memory region management Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 07/15] crypto/mlx5: create login object using DevX Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 08/15] crypto/mlx5: add keytag devarg Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 09/15] crypto/mlx5: add maximum segments devarg Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 10/15] crypto/mlx5: add WQE set initialization Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 11/15] crypto/mlx5: add enqueue and dequeue operations Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 12/15] crypto/mlx5: add statistic get and reset operations Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 13/15] test/crypto: add data-unit and wrapped vectors Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 14/15] test/crypto: add AES-XTS multi segment OOP tests Suanming Mou
2021-07-20 13:09 ` [dpdk-dev] [PATCH v9 15/15] test/crypto: add mlx5 crypto driver Suanming Mou
2021-07-20 20:43 ` [dpdk-dev] [EXT] [PATCH v9 00/15] drivers: introduce mlx5 crypto PMD Akhil Goyal
2021-07-20 21:01 ` Akhil Goyal
2021-07-21 0:26 ` Suanming Mou
2021-07-21 1:14 ` Suanming Mou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO6PR18MB4484138EE6D68F545B01A2FED8119@CO6PR18MB4484.namprd18.prod.outlook.com \
--to=gakhil@marvell.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=matan@nvidia.com \
--cc=shirik@nvidia.com \
--cc=suanmingm@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).