From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radu Nicolau Subject: [PATCH 1/3] lib/librte_security: added get size Date: Tue, 12 Dec 2017 12:50:25 +0000 Message-ID: <1513083027-11741-1-git-send-email-radu.nicolau@intel.com> Cc: konstantin.ananyev@intel.com, ferruh.yigit@intel.com, sergio.gonzalez.monroy@intel.com, pablo.de.lara.guarch@intel.com, declan.doherty@intel.com, akhil.goyal@nxp.com, Radu Nicolau To: dev@dpdk.org Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 7F4631DBF for ; Tue, 12 Dec 2017 13:55:08 +0100 (CET) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Radu Nicolau --- 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); + /** * Get stats from the PMD. * @@ -139,6 +151,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; diff --git a/lib/librte_security/rte_security_version.map b/lib/librte_security/rte_security_version.map index e12c04b..2f74568 100644 --- a/lib/librte_security/rte_security_version.map +++ b/lib/librte_security/rte_security_version.map @@ -6,6 +6,7 @@ EXPERIMENTAL { rte_security_capability_get; 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; -- 2.7.5