[dpdk-dev,1/3] lib/librte_security: added get size
Checks
Commit Message
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
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(+)
Comments
> -----Original Message-----
> From: Nicolau, Radu
> Sent: Tuesday, December 12, 2017 12:50 PM
> To: dev@dpdk.org
> Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; Yigit, Ferruh
> <ferruh.yigit@intel.com>; Gonzalez Monroy, Sergio
> <sergio.gonzalez.monroy@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; Doherty, Declan
> <declan.doherty@intel.com>; akhil.goyal@nxp.com; Nicolau, Radu
> <radu.nicolau@intel.com>
> Subject: [PATCH 1/3] lib/librte_security: added get size
Title should be "security: add get session size function", or something similar (use verb in infinitive form).
Secondly, I would add a short description of what this is doing.
Also, I have a comment inline in the code below.
Lastly, if any of the maintainers of the security library has any problems with this patch, please shout.
>
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
> ---
> 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);
Session get size returns an "int", but this function returns "unsigned int",
I think they should be the same type.
Thanks,
Pablo
On 12/12/2017 6:20 PM, Radu Nicolau wrote:
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
> ---
> 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.
@@ -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,
@@ -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.
*
@@ -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;
@@ -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;