> -----Original Message----- > From: Akhil Goyal [mailto:akhil.go...@nxp.com] > Sent: Tuesday, October 3, 2017 2:14 PM > To: dev@dpdk.org > Cc: Doherty, Declan <declan.dohe...@intel.com>; De Lara Guarch, Pablo > <pablo.de.lara.gua...@intel.com>; hemant.agra...@nxp.com; Nicolau, > Radu <radu.nico...@intel.com>; bor...@mellanox.com; > avia...@mellanox.com; tho...@monjalon.net; sandeep.ma...@nxp.com; > jerin.ja...@caviumnetworks.com; Mcnamara, John > <john.mcnam...@intel.com>; olivier.m...@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.go...@nxp.com> > Signed-off-by: Declan Doherty <declan.dohe...@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; >