DPDK patches and discussions
 help / color / mirror / Atom feed
From: Akhil Goyal <gakhil@marvell.com>
To: <dev@dpdk.org>
Cc: <thomas@monjalon.net>, <david.marchand@redhat.com>,
	<hemant.agrawal@nxp.com>, <anoobj@marvell.com>,
	<pablo.de.lara.guarch@intel.com>, <fiona.trahe@intel.com>,
	<declan.doherty@intel.com>, <matan@nvidia.com>, <g.singh@nxp.com>,
	<roy.fan.zhang@intel.com>, <jianjay.zhou@huawei.com>,
	<asomalap@amd.com>, <ruifeng.wang@arm.com>,
	<konstantin.ananyev@intel.com>, <radu.nicolau@intel.com>,
	<ajit.khaparde@broadcom.com>, <rnagadheeraj@marvell.com>,
	<adwivedi@marvell.com>, <ciara.power@intel.com>,
	Akhil Goyal <gakhil@marvell.com>
Subject: [dpdk-dev] [PATCH v3 5/7] drivers/crypto: invoke probing finish function
Date: Mon, 18 Oct 2021 20:11:59 +0530	[thread overview]
Message-ID: <20211018144201.2028022-6-gakhil@marvell.com> (raw)
In-Reply-To: <20211018144201.2028022-1-gakhil@marvell.com>

Invoke event_dev_probing_finish() function at the end of probing,
this function sets the function pointers in the fp_ops flat array
in case of secondary process.
For primary process, fp_ops is updated in rte_cryptodev_start().

Signed-off-by: Akhil Goyal <gakhil@marvell.com>
---
 drivers/crypto/armv8/rte_armv8_pmd.c        | 2 ++
 drivers/crypto/bcmfs/bcmfs_sym_pmd.c        | 2 ++
 drivers/crypto/caam_jr/caam_jr.c            | 2 ++
 drivers/crypto/ccp/rte_ccp_pmd.c            | 2 ++
 drivers/crypto/cnxk/cn10k_cryptodev.c       | 2 ++
 drivers/crypto/cnxk/cn9k_cryptodev.c        | 2 ++
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 4 +++-
 drivers/crypto/dpaa_sec/dpaa_sec.c          | 4 +++-
 drivers/crypto/ipsec_mb/ipsec_mb_private.c  | 2 ++
 drivers/crypto/mlx5/mlx5_crypto.c           | 3 +++
 drivers/crypto/mvsam/rte_mrvl_pmd.c         | 2 ++
 drivers/crypto/nitrox/nitrox_sym.c          | 3 +++
 drivers/crypto/null/null_crypto_pmd.c       | 2 ++
 drivers/crypto/octeontx/otx_cryptodev.c     | 4 +++-
 drivers/crypto/octeontx2/otx2_cryptodev.c   | 2 ++
 drivers/crypto/openssl/rte_openssl_pmd.c    | 2 ++
 drivers/crypto/qat/qat_asym_pmd.c           | 3 +++
 drivers/crypto/qat/qat_sym_pmd.c            | 2 ++
 drivers/crypto/scheduler/scheduler_pmd.c    | 2 ++
 drivers/crypto/virtio/virtio_cryptodev.c    | 2 ++
 20 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c
index 36a1a9bb4f..32127a874c 100644
--- a/drivers/crypto/armv8/rte_armv8_pmd.c
+++ b/drivers/crypto/armv8/rte_armv8_pmd.c
@@ -802,6 +802,8 @@ cryptodev_armv8_crypto_create(const char *name,
 
 	internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 init_error:
diff --git a/drivers/crypto/bcmfs/bcmfs_sym_pmd.c b/drivers/crypto/bcmfs/bcmfs_sym_pmd.c
index d1dd22823e..bc7fb67218 100644
--- a/drivers/crypto/bcmfs/bcmfs_sym_pmd.c
+++ b/drivers/crypto/bcmfs/bcmfs_sym_pmd.c
@@ -394,6 +394,8 @@ bcmfs_sym_dev_create(struct bcmfs_device *fsdev)
 	internals->sym_dev_id = cryptodev->data->dev_id;
 	internals->fsdev_capabilities = bcmfs_sym_get_capabilities();
 
+	rte_cryptodev_pmd_probing_finish(cryptodev);
+
 	BCMFS_LOG(DEBUG, "Created bcmfs-sym device %s as cryptodev instance %d",
 		  cryptodev->data->name, internals->sym_dev_id);
 	return 0;
diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c
index 258750afe7..8c56610ac8 100644
--- a/drivers/crypto/caam_jr/caam_jr.c
+++ b/drivers/crypto/caam_jr/caam_jr.c
@@ -2368,6 +2368,8 @@ caam_jr_dev_init(const char *name,
 	security_instance->sess_cnt = 0;
 	dev->security_ctx = security_instance;
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	RTE_LOG(INFO, PMD, "%s cryptodev init\n", dev->data->name);
 
 	return 0;
diff --git a/drivers/crypto/ccp/rte_ccp_pmd.c b/drivers/crypto/ccp/rte_ccp_pmd.c
index a54d81de46..a35a8cd775 100644
--- a/drivers/crypto/ccp/rte_ccp_pmd.c
+++ b/drivers/crypto/ccp/rte_ccp_pmd.c
@@ -271,6 +271,8 @@ cryptodev_ccp_create(const char *name,
 	internals->auth_opt = init_params->auth_opt;
 	internals->crypto_num_dev = cryptodev_cnt;
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 init_error:
diff --git a/drivers/crypto/cnxk/cn10k_cryptodev.c b/drivers/crypto/cnxk/cn10k_cryptodev.c
index 869d322d9b..1e0a7b91c9 100644
--- a/drivers/crypto/cnxk/cn10k_cryptodev.c
+++ b/drivers/crypto/cnxk/cn10k_cryptodev.c
@@ -102,6 +102,8 @@ cn10k_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 	cn10k_cpt_set_enqdeq_fns(dev);
 	cn10k_sec_ops_override();
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 dev_fini:
diff --git a/drivers/crypto/cnxk/cn9k_cryptodev.c b/drivers/crypto/cnxk/cn9k_cryptodev.c
index 54df06eec0..54cd77e575 100644
--- a/drivers/crypto/cnxk/cn9k_cryptodev.c
+++ b/drivers/crypto/cnxk/cn9k_cryptodev.c
@@ -102,6 +102,8 @@ cn9k_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 	cn9k_cpt_set_enqdeq_fns(dev);
 	cn9k_sec_ops_override();
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 dev_fini:
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 4eb3615250..cb2ad435bf 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -4032,8 +4032,10 @@ cryptodev_dpaa2_sec_probe(struct rte_dpaa2_driver *dpaa2_drv __rte_unused,
 
 	/* Invoke PMD device initialization function */
 	retval = dpaa2_sec_dev_init(cryptodev);
-	if (retval == 0)
+	if (retval == 0) {
+		rte_cryptodev_pmd_probing_finish(cryptodev);
 		return 0;
+	}
 
 	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
 		rte_free(cryptodev->data->dev_private);
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
index c7ef1c7b0f..454b9c4785 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -3594,8 +3594,10 @@ cryptodev_dpaa_sec_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
 
 	/* Invoke PMD device initialization function */
 	retval = dpaa_sec_dev_init(cryptodev);
-	if (retval == 0)
+	if (retval == 0) {
+		rte_cryptodev_pmd_probing_finish(cryptodev);
 		return 0;
+	}
 
 	retval = -ENXIO;
 out:
diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.c b/drivers/crypto/ipsec_mb/ipsec_mb_private.c
index d896fa20b4..aab42c360c 100644
--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.c
+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.c
@@ -134,6 +134,8 @@ ipsec_mb_create(struct rte_vdev_device *vdev,
 		break;
 	}
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	IPSEC_MB_LOG(INFO, "IPSec Multi-buffer library version used: %s\n",
 		     imb_get_version_str());
 
diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c
index 6a2f8b6ac6..14b6783e13 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.c
+++ b/drivers/crypto/mlx5/mlx5_crypto.c
@@ -1061,6 +1061,9 @@ mlx5_crypto_dev_probe(struct rte_device *dev)
 	pthread_mutex_lock(&priv_list_lock);
 	TAILQ_INSERT_TAIL(&mlx5_crypto_priv_list, priv, next);
 	pthread_mutex_unlock(&priv_list_lock);
+
+	rte_cryptodev_pmd_probing_finish(crypto_dev);
+
 	return 0;
 }
 
diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index a72642a772..04efd9aaa8 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -1114,6 +1114,8 @@ cryptodev_mrvl_crypto_create(const char *name,
 	if (ret)
 		goto init_error;
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 init_error:
diff --git a/drivers/crypto/nitrox/nitrox_sym.c b/drivers/crypto/nitrox/nitrox_sym.c
index f8b7edcd69..cb5393d2f1 100644
--- a/drivers/crypto/nitrox/nitrox_sym.c
+++ b/drivers/crypto/nitrox/nitrox_sym.c
@@ -783,6 +783,9 @@ nitrox_sym_pmd_create(struct nitrox_device *ndev)
 	ndev->sym_dev = cdev->data->dev_private;
 	ndev->sym_dev->cdev = cdev;
 	ndev->sym_dev->ndev = ndev;
+
+	rte_cryptodev_pmd_probing_finish(cdev);
+
 	NITROX_LOG(DEBUG, "Created cryptodev '%s', dev_id %d, drv_id %d\n",
 		   cdev->data->name, cdev->data->dev_id, nitrox_sym_drv_id);
 	return 0;
diff --git a/drivers/crypto/null/null_crypto_pmd.c b/drivers/crypto/null/null_crypto_pmd.c
index f9935d52cc..9ecb434fd0 100644
--- a/drivers/crypto/null/null_crypto_pmd.c
+++ b/drivers/crypto/null/null_crypto_pmd.c
@@ -184,6 +184,8 @@ cryptodev_null_create(const char *name,
 
 	internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 }
 
diff --git a/drivers/crypto/octeontx/otx_cryptodev.c b/drivers/crypto/octeontx/otx_cryptodev.c
index c294f86d79..05b78329d6 100644
--- a/drivers/crypto/octeontx/otx_cryptodev.c
+++ b/drivers/crypto/octeontx/otx_cryptodev.c
@@ -56,8 +56,10 @@ otx_cpt_pci_probe(struct rte_pci_driver *pci_drv,
 
 	/* Invoke PMD device initialization function */
 	retval = otx_cpt_dev_create(cryptodev);
-	if (retval == 0)
+	if (retval == 0) {
+		rte_cryptodev_pmd_probing_finish(cryptodev);
 		return 0;
+	}
 
 	CPT_LOG_ERR("[DRV %s]: Failed to create device "
 			"(vendor_id: 0x%x device_id: 0x%x",
diff --git a/drivers/crypto/octeontx2/otx2_cryptodev.c b/drivers/crypto/octeontx2/otx2_cryptodev.c
index 85b1f00263..fc7ad05366 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev.c
@@ -135,6 +135,8 @@ otx2_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 	if (rte_eal_process_type() == RTE_PROC_SECONDARY)
 		otx2_cpt_set_enqdeq_fns(dev);
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 otx2_dev_fini:
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index 13c6ea8724..5794ed8159 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -2213,6 +2213,8 @@ cryptodev_openssl_create(const char *name,
 
 	internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 
 init_error:
diff --git a/drivers/crypto/qat/qat_asym_pmd.c b/drivers/crypto/qat/qat_asym_pmd.c
index e91bb0d317..0944d27a4d 100644
--- a/drivers/crypto/qat/qat_asym_pmd.c
+++ b/drivers/crypto/qat/qat_asym_pmd.c
@@ -343,6 +343,9 @@ qat_asym_dev_create(struct qat_pci_device *qat_pci_dev,
 	}
 
 	qat_pci_dev->asym_dev = internals;
+
+	rte_cryptodev_pmd_probing_finish(cryptodev);
+
 	QAT_LOG(DEBUG, "Created QAT ASYM device %s as cryptodev instance %d",
 			cryptodev->data->name, internals->asym_dev_id);
 	return 0;
diff --git a/drivers/crypto/qat/qat_sym_pmd.c b/drivers/crypto/qat/qat_sym_pmd.c
index efda921c05..d4f087733f 100644
--- a/drivers/crypto/qat/qat_sym_pmd.c
+++ b/drivers/crypto/qat/qat_sym_pmd.c
@@ -500,6 +500,8 @@ qat_sym_dev_create(struct qat_pci_device *qat_pci_dev,
 	QAT_LOG(DEBUG, "Created QAT SYM device %s as cryptodev instance %d",
 			cryptodev->data->name, internals->sym_dev_id);
 
+	rte_cryptodev_pmd_probing_finish(cryptodev);
+
 	return 0;
 
 error:
diff --git a/drivers/crypto/scheduler/scheduler_pmd.c b/drivers/crypto/scheduler/scheduler_pmd.c
index 560c26af50..dd198080bf 100644
--- a/drivers/crypto/scheduler/scheduler_pmd.c
+++ b/drivers/crypto/scheduler/scheduler_pmd.c
@@ -229,6 +229,8 @@ cryptodev_scheduler_create(const char *name,
 		return -ENOMEM;
 	}
 
+	rte_cryptodev_pmd_probing_finish(dev);
+
 	return 0;
 }
 
diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c
index 8faa39df4a..ed64866758 100644
--- a/drivers/crypto/virtio/virtio_cryptodev.c
+++ b/drivers/crypto/virtio/virtio_cryptodev.c
@@ -754,6 +754,8 @@ crypto_virtio_create(const char *name, struct rte_pci_device *pci_dev,
 			VIRTIO_CRYPTO_PMD_GUEST_FEATURES) < 0)
 		return -1;
 
+	rte_cryptodev_pmd_probing_finish(cryptodev);
+
 	return 0;
 }
 
-- 
2.25.1


  parent reply	other threads:[~2021-10-18 14:43 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-29 12:51 [dpdk-dev] [PATCH 0/8] cryptodev: hide internal strutures Akhil Goyal
2021-08-29 12:51 ` [dpdk-dev] [PATCH 1/8] cryptodev: separate out internal structures Akhil Goyal
2021-09-08 10:50   ` Anoob Joseph
2021-09-08 11:11     ` Akhil Goyal
2021-09-13 14:10   ` Zhang, Roy Fan
2021-08-29 12:51 ` [dpdk-dev] [PATCH 2/8] cryptodev: move inline APIs into separate structure Akhil Goyal
2021-09-13 14:11   ` Zhang, Roy Fan
2021-09-16 15:21   ` Ananyev, Konstantin
2021-08-29 12:51 ` [dpdk-dev] [PATCH 3/8] cryptodev: add helper functions for new datapath interface Akhil Goyal
2021-08-30 20:07   ` Zhang, Roy Fan
2021-08-31  6:14     ` Akhil Goyal
2021-09-13 14:20   ` Zhang, Roy Fan
2021-08-29 12:51 ` [dpdk-dev] [PATCH 4/8] cryptodev: use new API for datapath functions Akhil Goyal
2021-09-13 14:20   ` Zhang, Roy Fan
2021-08-29 12:51 ` [dpdk-dev] [PATCH 5/8] drivers/crypto: use new framework for datapath Akhil Goyal
2021-09-13 14:20   ` Zhang, Roy Fan
2021-08-29 12:51 ` [dpdk-dev] [PATCH 6/8] crypto/scheduler: rename enq-deq functions Akhil Goyal
2021-09-13 14:21   ` Zhang, Roy Fan
2021-08-29 12:51 ` [dpdk-dev] [PATCH 7/8] crypto/scheduler: update for new datapath framework Akhil Goyal
2021-09-13 14:21   ` Zhang, Roy Fan
2021-08-29 12:51 ` [dpdk-dev] [PATCH 8/8] cryptodev: move device specific structures Akhil Goyal
2021-09-13 14:22   ` Zhang, Roy Fan
2021-09-06 18:29 ` [dpdk-dev] [PATCH 0/8] cryptodev: hide internal strutures Akhil Goyal
2021-09-13 14:09 ` Zhang, Roy Fan
2021-10-11 12:43 ` [dpdk-dev] [PATCH v2 0/5] cryptodev: hide internal structures Akhil Goyal
2021-10-11 12:43   ` [dpdk-dev] [PATCH v2 1/5] cryptodev: separate out " Akhil Goyal
2021-10-11 14:50     ` Zhang, Roy Fan
2021-10-11 12:43   ` [dpdk-dev] [PATCH v2 2/5] cryptodev: allocate max space for internal qp array Akhil Goyal
2021-10-11 14:51     ` Zhang, Roy Fan
2021-10-11 12:43   ` [dpdk-dev] [PATCH v2 3/5] cryptodev: move inline APIs into separate structure Akhil Goyal
2021-10-11 14:45     ` Zhang, Roy Fan
2021-10-18  7:02       ` Akhil Goyal
2021-10-11 12:43   ` [dpdk-dev] [PATCH v2 4/5] cryptodev: update fast path APIs to use new flat array Akhil Goyal
2021-10-11 14:54     ` Zhang, Roy Fan
2021-10-11 12:43   ` [dpdk-dev] [PATCH v2 5/5] cryptodev: move device specific structures Akhil Goyal
2021-10-11 15:05     ` Zhang, Roy Fan
2021-10-18  7:07       ` Akhil Goyal
2021-10-11 16:03   ` [dpdk-dev] [PATCH v2 0/5] cryptodev: hide internal structures Zhang, Roy Fan
2021-10-11 17:07     ` Ji, Kai
2021-10-11 18:21       ` Zhang, Roy Fan
2021-10-15 18:38   ` Ananyev, Konstantin
2021-10-15 18:42     ` Akhil Goyal
2021-10-19 11:03       ` Ananyev, Konstantin
2021-10-18 14:41   ` [dpdk-dev] [PATCH v3 0/7] " Akhil Goyal
2021-10-18 14:41     ` [dpdk-dev] [PATCH v3 1/7] cryptodev: separate out " Akhil Goyal
2021-10-18 14:41     ` [dpdk-dev] [PATCH v3 2/7] cryptodev: allocate max space for internal qp array Akhil Goyal
2021-10-18 14:41     ` [dpdk-dev] [PATCH v3 3/7] cryptodev: move inline APIs into separate structure Akhil Goyal
2021-10-19 11:11       ` Ananyev, Konstantin
2021-10-19 11:50         ` Akhil Goyal
2021-10-19 14:27           ` Ananyev, Konstantin
2021-10-19 16:00       ` Zhang, Roy Fan
2021-10-18 14:41     ` [dpdk-dev] [PATCH v3 4/7] cryptodev: add PMD device probe finish API Akhil Goyal
2021-10-19 16:01       ` Zhang, Roy Fan
2021-10-18 14:41     ` Akhil Goyal [this message]
2021-10-19 16:03       ` [dpdk-dev] [PATCH v3 5/7] drivers/crypto: invoke probing finish function Zhang, Roy Fan
2021-10-20  7:05       ` Matan Azrad
2021-10-18 14:42     ` [dpdk-dev] [PATCH v3 6/7] cryptodev: update fast path APIs to use new flat array Akhil Goyal
2021-10-19 12:28       ` Ananyev, Konstantin
2021-10-19 12:47         ` Akhil Goyal
2021-10-19 14:25           ` Ananyev, Konstantin
2021-10-18 14:42     ` [dpdk-dev] [PATCH v3 7/7] cryptodev: move device specific structures Akhil Goyal
2021-10-20 10:25     ` [dpdk-dev] [PATCH v3 0/7] cryptodev: hide internal structures Power, Ciara
2021-10-20 11:27     ` [dpdk-dev] [PATCH v4 0/8] " Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 1/8] cryptodev: separate out " Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 2/8] cryptodev: allocate max space for internal qp array Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 3/8] cryptodev: move inline APIs into separate structure Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 4/8] crypto/scheduler: use proper API for device start/stop Akhil Goyal
2021-10-20 11:31         ` Zhang, Roy Fan
2021-10-20 12:20           ` Ananyev, Konstantin
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 5/8] cryptodev: add PMD device probe finish API Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 6/8] drivers/crypto: invoke probing finish function Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 7/8] cryptodev: update fast path APIs to use new flat array Akhil Goyal
2021-10-20 11:27       ` [dpdk-dev] [PATCH v4 8/8] cryptodev: move device specific structures Akhil Goyal
2021-10-20 13:36       ` [dpdk-dev] [PATCH v4 0/8] cryptodev: hide internal structures Akhil Goyal

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=20211018144201.2028022-6-gakhil@marvell.com \
    --to=gakhil@marvell.com \
    --cc=adwivedi@marvell.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=anoobj@marvell.com \
    --cc=asomalap@amd.com \
    --cc=ciara.power@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=g.singh@nxp.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jianjay.zhou@huawei.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=matan@nvidia.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=radu.nicolau@intel.com \
    --cc=rnagadheeraj@marvell.com \
    --cc=roy.fan.zhang@intel.com \
    --cc=ruifeng.wang@arm.com \
    --cc=thomas@monjalon.net \
    /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).