security: get session size

Add function to get security session size.

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
This commit is contained in:
Radu Nicolau 2018-01-18 15:41:41 +00:00 committed by Pablo de Lara
parent a90e6ce62b
commit ba201f5547
4 changed files with 34 additions and 0 deletions

View File

@ -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,

View File

@ -314,6 +314,18 @@ rte_security_session_update(struct rte_security_ctx *instance,
struct rte_security_session *sess,
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.

View File

@ -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 unsigned int (*security_session_get_size)(void *device);
/**
* Get stats from the PMD.
*
@ -155,6 +167,8 @@ struct rte_security_ops {
/**< Configure a security session. */
security_session_update_t session_update;
/**< Update a security session. */
security_session_get_size session_get_size;
/**< Return size of security session. */
security_session_stats_get_t session_stats_get;
/**< Get security session statistics. */
security_session_destroy_t session_destroy;

View File

@ -7,6 +7,7 @@ EXPERIMENTAL {
rte_security_get_userdata;
rte_security_session_create;
rte_security_session_destroy;
rte_security_session_get_size;
rte_security_session_stats_get;
rte_security_session_update;
rte_security_set_pkt_metadata;