[dpdk-dev] [PATCH v2 03/12] cryptodev: extend cryptodev to support security APIs
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Thu Oct 5 10:49:19 CEST 2017
> -----Original Message-----
> From: Akhil Goyal [mailto:akhil.goyal at nxp.com]
> Sent: Tuesday, October 3, 2017 2:14 PM
> To: dev at dpdk.org
> Cc: Doherty, Declan <declan.doherty at intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch at intel.com>; hemant.agrawal at nxp.com; Nicolau,
> Radu <radu.nicolau at intel.com>; borisp at mellanox.com;
> aviadye at mellanox.com; thomas at monjalon.net; sandeep.malik at nxp.com;
> jerin.jacob at caviumnetworks.com; Mcnamara, John
> <john.mcnamara at intel.com>; olivier.matz at 6wind.com
> Subject: [PATCH v2 03/12] cryptodev: extend cryptodev to support security
> APIs
>
I would change the title to something a bit shorter "cryptodev: support security APIs"?
No need to duplicate "cryptodev".
> security ops are added to crypto device to support protocol offloaded
> security operations.
>
> Signed-off-by: Akhil Goyal <akhil.goyal at nxp.com>
> Signed-off-by: Declan Doherty <declan.doherty at intel.com>
> ---
...
> diff --git a/lib/librte_cryptodev/rte_cryptodev.c
> b/lib/librte_cryptodev/rte_cryptodev.c
> index 327d7e8..e52fc88 100644
> --- a/lib/librte_cryptodev/rte_cryptodev.c
> +++ b/lib/librte_cryptodev/rte_cryptodev.c
> @@ -488,6 +488,16 @@ rte_cryptodev_devices_get(const char
> *driver_name, uint8_t *devices,
> return count;
> }
>
> +uint16_t
> +rte_cryptodev_get_sec_id(uint8_t dev_id) {
> + if (rte_crypto_devices[dev_id].feature_flags &
> + RTE_CRYPTODEV_FF_SECURITY)
> + return rte_crypto_devices[dev_id].data->sec_id;
> +
> + return -1;
The return value of this function is uint16_t, but you are returning a -1
if the crypto device does not support security sessions.
> +}
> +
> int
> rte_cryptodev_socket_id(uint8_t dev_id) { diff --git
> a/lib/librte_cryptodev/rte_cryptodev.h
> b/lib/librte_cryptodev/rte_cryptodev.h
> index 7ec9c4b..867b5be 100644
> --- a/lib/librte_cryptodev/rte_cryptodev.h
> +++ b/lib/librte_cryptodev/rte_cryptodev.h
> @@ -51,8 +51,6 @@ extern "C" {
> #include <rte_common.h>
> #include <rte_vdev.h>
>
> -extern const char **rte_cyptodev_names;
> -
I think this removal deserves another patch, separate from this patchset.
> /* Logging Macros */
>
> #define CDEV_LOG_ERR(...) \
> @@ -351,6 +349,8 @@ rte_cryptodev_get_aead_algo_enum(enum
> rte_crypto_aead_algorithm *algo_enum, /**< Utilises CPU NEON
> instructions */
> #define RTE_CRYPTODEV_FF_CPU_ARM_CE (1ULL << 11)
> /**< Utilises ARM CPU Cryptographic Extensions */
> +#define RTE_CRYPTODEV_FF_SECURITY (1ULL << 12)
> +/**< Support Security Protocol Processing */
>
>
> /**
> @@ -761,6 +761,9 @@ struct rte_cryptodev {
> /**< Flag indicating the device is attached */ }
> __rte_cache_aligned;
>
> +uint16_t
> +rte_cryptodev_get_sec_id(uint8_t dev_id);
> +
> /**
> *
> * The data part, with no function pointers, associated with each device.
> @@ -789,6 +792,7 @@ struct rte_cryptodev_data {
>
> void *dev_private;
> /**< PMD-specific private data */
> + uint16_t sec_id;
Add a description about "sec_id".
> } __rte_cache_aligned;
>
More information about the dev
mailing list