[dpdk-dev] [PATCH] aesni_mb: remove params from config file

Pablo de Lara pablo.de.lara.guarch at intel.com
Thu Mar 10 18:14:09 CET 2016


Parse the device parameters from rte_eal_vdev_init,
instead of the config file, so user can change the parameters
at runtime.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
---
This patch depends on "cryptodev: add capabilities discovery mechanism"
(http://dpdk.org/dev/patchwork/patch/11430/)

 config/common_base                         |  2 --
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 30 ++++++++++++++++++++++--------
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/config/common_base b/config/common_base
index 73ca7bb..c7634e5 100644
--- a/config/common_base
+++ b/config/common_base
@@ -334,8 +334,6 @@ CONFIG_RTE_QAT_PMD_MAX_NB_SESSIONS=2048
 #
 CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
 CONFIG_RTE_LIBRTE_PMD_AESNI_MB_DEBUG=n
-CONFIG_RTE_AESNI_MB_PMD_MAX_NB_QUEUE_PAIRS=8
-CONFIG_RTE_AESNI_MB_PMD_MAX_NB_SESSIONS=2048
 
 #
 # Compile PMD for AESNI GCM  device
diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
index bd273ec..bc44f67 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
@@ -593,7 +593,8 @@ aesni_mb_pmd_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops,
 static int cryptodev_aesni_mb_uninit(const char *name);
 
 static int
-cryptodev_aesni_mb_create(const char *name, unsigned socket_id)
+cryptodev_aesni_mb_create(const char *name,
+		struct rte_crypto_vdev_init_params *init_params)
 {
 	struct rte_cryptodev *dev;
 	char crypto_dev_name[RTE_CRYPTODEV_NAME_MAX_LEN];
@@ -627,7 +628,7 @@ cryptodev_aesni_mb_create(const char *name, unsigned socket_id)
 
 
 	dev = rte_cryptodev_pmd_virtual_dev_init(crypto_dev_name,
-			sizeof(struct aesni_mb_private), socket_id);
+			sizeof(struct aesni_mb_private), init_params->socket_id);
 	if (dev == NULL) {
 		MB_LOG_ERR("failed to create cryptodev vdev");
 		goto init_error;
@@ -662,8 +663,8 @@ cryptodev_aesni_mb_create(const char *name, unsigned socket_id)
 	internals = dev->data->dev_private;
 
 	internals->vector_mode = vector_mode;
-	internals->max_nb_queue_pairs = RTE_AESNI_MB_PMD_MAX_NB_QUEUE_PAIRS;
-	internals->max_nb_sessions = RTE_AESNI_MB_PMD_MAX_NB_SESSIONS;
+	internals->max_nb_queue_pairs = init_params->max_nb_queue_pairs;
+	internals->max_nb_sessions = init_params->max_nb_sessions;
 
 	return 0;
 init_error:
@@ -676,11 +677,24 @@ init_error:
 
 static int
 cryptodev_aesni_mb_init(const char *name,
-		const char *params __rte_unused)
+		const char *input_args)
 {
-	RTE_LOG(INFO, PMD, "Initialising %s\n", name);
-
-	return cryptodev_aesni_mb_create(name, rte_socket_id());
+	struct rte_crypto_vdev_init_params init_params = {
+		RTE_CRYPTODEV_VDEV_DEFAULT_MAX_NB_QUEUE_PAIRS,
+		RTE_CRYPTODEV_VDEV_DEFAULT_MAX_NB_SESSIONS,
+		rte_socket_id()
+	};
+
+	rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
+
+	RTE_LOG(INFO, PMD, "Initialising %s on NUMA node %d\n", name,
+			init_params.socket_id);
+	RTE_LOG(INFO, PMD, "  Max number of queue pairs = %d\n",
+			init_params.max_nb_queue_pairs);
+	RTE_LOG(INFO, PMD, "  Max number of sessions = %d\n",
+			init_params.max_nb_sessions);
+
+	return cryptodev_aesni_mb_create(name, &init_params);
 }
 
 static int
-- 
2.5.0



More information about the dev mailing list