On 12/12/2017 6:20 PM, Radu Nicolau wrote:
Signed-off-by: Radu Nicolau <[email protected]> --- lib/librte_security/rte_security.c | 7 +++++++ lib/librte_security/rte_security.h | 12 ++++++++++++ lib/librte_security/rte_security_driver.h | 14 ++++++++++++++ lib/librte_security/rte_security_version.map | 1 + 4 files changed, 34 insertions(+)diff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c index 1227fca..56f2345 100644 --- a/lib/librte_security/rte_security.c +++ b/lib/librte_security/rte_security.c @@ -70,6 +70,13 @@ rte_security_session_update(struct rte_security_ctx *instance, return instance->ops->session_update(instance->device, sess, conf); }+unsigned int+rte_security_session_get_size(struct rte_security_ctx *instance) +{ + RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_get_size, 0); + return instance->ops->session_get_size(instance->device); +} + int rte_security_session_stats_get(struct rte_security_ctx *instance, struct rte_security_session *sess, diff --git a/lib/librte_security/rte_security.h b/lib/librte_security/rte_security.h index 653929b..2c5429f 100644 --- a/lib/librte_security/rte_security.h +++ b/lib/librte_security/rte_security.h @@ -312,6 +312,18 @@ rte_security_session_update(struct rte_security_ctx *instance, struct rte_security_session_conf *conf);/**+ * Get the size of the security session data for a device. + * + * @param instance security instance. + * + * @return + * - Size of the private data, if successful + * - 0 if device is invalid or does not support the operation. + */ +unsigned int +rte_security_session_get_size(struct rte_security_ctx *instance); + +/** * Free security session header and the session private data and * return it to its original mempool. * diff --git a/lib/librte_security/rte_security_driver.h b/lib/librte_security/rte_security_driver.h index 997fbe7..3839d45 100644 --- a/lib/librte_security/rte_security_driver.h +++ b/lib/librte_security/rte_security_driver.h @@ -91,6 +91,18 @@ typedef int (*security_session_destroy_t)(void *device, typedef int (*security_session_update_t)(void *device, struct rte_security_session *sess, struct rte_security_session_conf *conf); + +/** + * Get the size of a security session + * + * @param device Crypto/eth device pointer + * + * @return + * - On success returns the size of the session structure for device + * - On failure returns 0 + */ +typedef int (*security_session_get_size)(void *device);
I believe this should be unsigned int. For rest of the patch Acked.

