DPDK patches and discussions
 help / color / mirror / Atom feed
From: Shiri Kuzin <shirik@nvidia.com>
To: <dev@dpdk.org>
Cc: <matan@nvidia.com>, <gakhil@marvell.com>, <suanmingm@nvidia.com>,
	<david.marchand@redhat.com>
Subject: [dpdk-dev] [PATCH v7 05/16] crypto/mlx5: add queue pairs operations
Date: Thu, 15 Jul 2021 18:08:06 +0300	[thread overview]
Message-ID: <20210715150817.51485-6-shirik@nvidia.com> (raw)
In-Reply-To: <20210715150817.51485-1-shirik@nvidia.com>

The HW queue pairs are a pair of send queue and receive queue of
independent work queues packed together in one object for the purpose
of transferring data between nodes of a network.

Completion Queue is a FIFO queue of completed work requests.

In crypto driver we use one QP in loopback in order to encrypt and
decrypt data locally without sending it to the wire.
In the configured QP we only use the SQ to perform the encryption and
decryption operations.

Added implementation for the QP setup function which creates the CQ,
creates the QP and changes its state to RTS (ready to send).

Added implementation for the release QP function to release all the QP
resources.

Added the ops structure that contains any operation which is supported
by the cryptodev.

Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/crypto/mlx5/mlx5_crypto.c | 129 +++++++++++++++++++++++++++++-
 drivers/crypto/mlx5/mlx5_crypto.h |  11 +++
 2 files changed, 137 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c
index a7e44deb9e..ebaa65c7a9 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.c
+++ b/drivers/crypto/mlx5/mlx5_crypto.c
@@ -7,6 +7,7 @@
 #include <rte_errno.h>
 #include <rte_log.h>
 #include <rte_pci.h>
+#include <rte_memory.h>
 
 #include <mlx5_glue.h>
 #include <mlx5_common.h>
@@ -19,6 +20,7 @@
 
 #define MLX5_CRYPTO_DRIVER_NAME mlx5_crypto
 #define MLX5_CRYPTO_LOG_NAME pmd.crypto.mlx5
+#define MLX5_CRYPTO_MAX_QPS 1024
 
 #define MLX5_CRYPTO_FEATURE_FLAGS \
 	(RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO | RTE_CRYPTODEV_FF_HW_ACCELERATED | \
@@ -94,7 +96,7 @@ mlx5_crypto_dev_infos_get(struct rte_cryptodev *dev,
 		dev_info->driver_id = mlx5_crypto_driver_id;
 		dev_info->feature_flags = MLX5_CRYPTO_FEATURE_FLAGS;
 		dev_info->capabilities = mlx5_crypto_caps;
-		dev_info->max_nb_queue_pairs = 0;
+		dev_info->max_nb_queue_pairs = MLX5_CRYPTO_MAX_QPS;
 		dev_info->min_mbuf_headroom_req = 0;
 		dev_info->min_mbuf_tailroom_req = 0;
 		dev_info->sym.max_nb_sessions = 0;
@@ -235,6 +237,127 @@ mlx5_crypto_sym_session_clear(struct rte_cryptodev *dev,
 	DRV_LOG(DEBUG, "Session %p was cleared.", spriv);
 }
 
+static int
+mlx5_crypto_queue_pair_release(struct rte_cryptodev *dev, uint16_t qp_id)
+{
+	struct mlx5_crypto_qp *qp = dev->data->queue_pairs[qp_id];
+
+	if (qp->qp_obj != NULL)
+		claim_zero(mlx5_devx_cmd_destroy(qp->qp_obj));
+	if (qp->umem_obj != NULL)
+		claim_zero(mlx5_glue->devx_umem_dereg(qp->umem_obj));
+	if (qp->umem_buf != NULL)
+		rte_free(qp->umem_buf);
+	mlx5_devx_cq_destroy(&qp->cq_obj);
+	rte_free(qp);
+	dev->data->queue_pairs[qp_id] = NULL;
+	return 0;
+}
+
+static int
+mlx5_crypto_qp2rts(struct mlx5_crypto_qp *qp)
+{
+	/*
+	 * In Order to configure self loopback, when calling these functions the
+	 * remote QP id that is used is the id of the same QP.
+	 */
+	if (mlx5_devx_cmd_modify_qp_state(qp->qp_obj, MLX5_CMD_OP_RST2INIT_QP,
+					  qp->qp_obj->id)) {
+		DRV_LOG(ERR, "Failed to modify QP to INIT state(%u).",
+			rte_errno);
+		return -1;
+	}
+	if (mlx5_devx_cmd_modify_qp_state(qp->qp_obj, MLX5_CMD_OP_INIT2RTR_QP,
+					  qp->qp_obj->id)) {
+		DRV_LOG(ERR, "Failed to modify QP to RTR state(%u).",
+			rte_errno);
+		return -1;
+	}
+	if (mlx5_devx_cmd_modify_qp_state(qp->qp_obj, MLX5_CMD_OP_RTR2RTS_QP,
+					  qp->qp_obj->id)) {
+		DRV_LOG(ERR, "Failed to modify QP to RTS state(%u).",
+			rte_errno);
+		return -1;
+	}
+	return 0;
+}
+
+static int
+mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,
+			     const struct rte_cryptodev_qp_conf *qp_conf,
+			     int socket_id)
+{
+	struct mlx5_crypto_priv *priv = dev->data->dev_private;
+	struct mlx5_devx_qp_attr attr = {0};
+	struct mlx5_crypto_qp *qp;
+	uint16_t log_nb_desc = rte_log2_u32(qp_conf->nb_descriptors);
+	uint32_t umem_size = RTE_BIT32(log_nb_desc) *
+			      MLX5_CRYPTO_WQE_SET_SIZE +
+			      sizeof(*qp->db_rec) * 2;
+	uint32_t alloc_size = sizeof(*qp);
+	struct mlx5_devx_cq_attr cq_attr = {
+		.uar_page_id = mlx5_os_get_devx_uar_page_id(priv->uar),
+	};
+
+	if (dev->data->queue_pairs[qp_id] != NULL)
+		mlx5_crypto_queue_pair_release(dev, qp_id);
+	alloc_size = RTE_ALIGN(alloc_size, RTE_CACHE_LINE_SIZE);
+	alloc_size += sizeof(struct rte_crypto_op *) * RTE_BIT32(log_nb_desc);
+	qp = rte_zmalloc_socket(__func__, alloc_size, RTE_CACHE_LINE_SIZE,
+				socket_id);
+	if (qp == NULL) {
+		DRV_LOG(ERR, "Failed to allocate QP memory.");
+		rte_errno = ENOMEM;
+		return -rte_errno;
+	}
+	if (mlx5_devx_cq_create(priv->ctx, &qp->cq_obj, log_nb_desc,
+				&cq_attr, socket_id) != 0) {
+		DRV_LOG(ERR, "Failed to create CQ.");
+		goto error;
+	}
+	qp->umem_buf = rte_zmalloc_socket(__func__, umem_size, 4096, socket_id);
+	if (qp->umem_buf == NULL) {
+		DRV_LOG(ERR, "Failed to allocate QP umem.");
+		rte_errno = ENOMEM;
+		goto error;
+	}
+	qp->umem_obj = mlx5_glue->devx_umem_reg(priv->ctx,
+					       (void *)(uintptr_t)qp->umem_buf,
+					       umem_size,
+					       IBV_ACCESS_LOCAL_WRITE);
+	if (qp->umem_obj == NULL) {
+		DRV_LOG(ERR, "Failed to register QP umem.");
+		goto error;
+	}
+	attr.pd = priv->pdn;
+	attr.uar_index = mlx5_os_get_devx_uar_page_id(priv->uar);
+	attr.cqn = qp->cq_obj.cq->id;
+	attr.log_page_size = rte_log2_u32(sysconf(_SC_PAGESIZE));
+	attr.rq_size =  0;
+	attr.sq_size = RTE_BIT32(log_nb_desc);
+	attr.dbr_umem_valid = 1;
+	attr.wq_umem_id = qp->umem_obj->umem_id;
+	attr.wq_umem_offset = 0;
+	attr.dbr_umem_id = qp->umem_obj->umem_id;
+	attr.dbr_address = RTE_BIT64(log_nb_desc) *
+			   MLX5_CRYPTO_WQE_SET_SIZE;
+	qp->qp_obj = mlx5_devx_cmd_create_qp(priv->ctx, &attr);
+	if (qp->qp_obj == NULL) {
+		DRV_LOG(ERR, "Failed to create QP(%u).", rte_errno);
+		goto error;
+	}
+	qp->db_rec = RTE_PTR_ADD(qp->umem_buf, (uintptr_t)attr.dbr_address);
+	if (mlx5_crypto_qp2rts(qp))
+		goto error;
+	qp->ops = (struct rte_crypto_op **)RTE_ALIGN((uintptr_t)(qp + 1),
+							   RTE_CACHE_LINE_SIZE);
+	dev->data->queue_pairs[qp_id] = qp;
+	return 0;
+error:
+	mlx5_crypto_queue_pair_release(dev, qp_id);
+	return -1;
+}
+
 static struct rte_cryptodev_ops mlx5_crypto_ops = {
 	.dev_configure			= mlx5_crypto_dev_configure,
 	.dev_start			= NULL,
@@ -243,8 +366,8 @@ static struct rte_cryptodev_ops mlx5_crypto_ops = {
 	.dev_infos_get			= mlx5_crypto_dev_infos_get,
 	.stats_get			= NULL,
 	.stats_reset			= NULL,
-	.queue_pair_setup		= NULL,
-	.queue_pair_release		= NULL,
+	.queue_pair_setup		= mlx5_crypto_queue_pair_setup,
+	.queue_pair_release		= mlx5_crypto_queue_pair_release,
 	.sym_session_get_size		= mlx5_crypto_sym_session_get_size,
 	.sym_session_configure		= mlx5_crypto_sym_session_configure,
 	.sym_session_clear		= mlx5_crypto_sym_session_clear,
diff --git a/drivers/crypto/mlx5/mlx5_crypto.h b/drivers/crypto/mlx5/mlx5_crypto.h
index a0df775407..1c3c4855ec 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.h
+++ b/drivers/crypto/mlx5/mlx5_crypto.h
@@ -11,9 +11,11 @@
 #include <rte_cryptodev_pmd.h>
 
 #include <mlx5_common_utils.h>
+#include <mlx5_common_devx.h>
 
 #define MLX5_CRYPTO_DEK_HTABLE_SZ (1 << 11)
 #define MLX5_CRYPTO_KEY_LENGTH 80
+#define MLX5_CRYPTO_WQE_SET_SIZE 1024
 
 struct mlx5_crypto_priv {
 	TAILQ_ENTRY(mlx5_crypto_priv) next;
@@ -27,6 +29,15 @@ struct mlx5_crypto_priv {
 	struct rte_cryptodev_config dev_config;
 };
 
+struct mlx5_crypto_qp {
+	struct mlx5_devx_cq cq_obj;
+	struct mlx5_devx_obj *qp_obj;
+	struct mlx5dv_devx_umem *umem_obj;
+	void *umem_buf;
+	volatile uint32_t *db_rec;
+	struct rte_crypto_op **ops;
+};
+
 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. */
-- 
2.27.0


  parent reply	other threads:[~2021-07-15 15:09 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               ` Shiri Kuzin [this message]
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                   ` [dpdk-dev] [EXT] " Akhil Goyal
2021-07-20  8:31                     ` 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=20210715150817.51485-6-shirik@nvidia.com \
    --to=shirik@nvidia.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=gakhil@marvell.com \
    --cc=matan@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).