From 761fd95d82a4b5ee035a5140030e22d2581335ea Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Tue, 3 Oct 2017 03:32:54 +0100 Subject: [PATCH] cryptodev: add function to retrieve device name Currently, in order to get the name of a crypto device, a user needs to access to it using the crypto device structure. It is a better practise to have a function to retrieve this name, given a device id. Signed-off-by: Pablo de Lara Acked-by: Sergio Gonzalez Monroy --- lib/librte_cryptodev/rte_cryptodev.c | 11 +++++++++++ lib/librte_cryptodev/rte_cryptodev.h | 13 +++++++++++++ lib/librte_cryptodev/rte_cryptodev_version.map | 7 +++++++ 3 files changed, 31 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c index a2393950bd..e48d562b44 100644 --- a/lib/librte_cryptodev/rte_cryptodev.c +++ b/lib/librte_cryptodev/rte_cryptodev.c @@ -1381,6 +1381,17 @@ rte_cryptodev_driver_id_get(const char *name) return -1; } +const char * +rte_cryptodev_name_get(uint8_t dev_id) +{ + struct rte_cryptodev *dev = rte_cryptodev_pmd_get_dev(dev_id); + + if (dev == NULL) + return NULL; + + return dev->data->name; +} + const char * rte_cryptodev_driver_name_get(uint8_t driver_id) { diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 5225a5b858..fd0e3f1972 100644 --- a/lib/librte_cryptodev/rte_cryptodev.h +++ b/lib/librte_cryptodev/rte_cryptodev.h @@ -462,6 +462,19 @@ rte_cryptodev_create_vdev(const char *name, const char *args); extern int rte_cryptodev_get_dev_id(const char *name); +/** + * Get the crypto device name given a device identifier. + * + * @param dev_id + * The identifier of the device + * + * @return + * - Returns crypto device name. + * - Returns NULL if crypto device is not present. + */ +extern const char * +rte_cryptodev_name_get(uint8_t dev_id); + /** * Get the total number of crypto devices that have been successfully * initialised. diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map index e9ba88ac5b..919b6cc7bb 100644 --- a/lib/librte_cryptodev/rte_cryptodev_version.map +++ b/lib/librte_cryptodev/rte_cryptodev_version.map @@ -79,3 +79,10 @@ DPDK_17.08 { rte_crypto_aead_operation_strings; } DPDK_17.05; + +DPDK_17.11 { + global: + + rte_cryptodev_name_get; + +} DPDK_17.08; -- 2.20.1