[dpdk-dev] [PATCH v3 16/16] cryptodev: check if symmetric sessions are supported

Verma, Shally Shally.Verma at cavium.com
Thu Jun 28 15:40:28 CEST 2018



>-----Original Message-----
>From: Pablo de Lara [mailto:pablo.de.lara.guarch at intel.com]
>Sent: 28 June 2018 06:23
>To: declan.doherty at intel.com; akhil.goyal at nxp.com; Verma, Shally <Shally.Verma at cavium.com>; ravi1.kumar at amd.com; Jacob,
>Jerin <Jerin.JacobKollanukkaran at cavium.com>; roy.fan.zhang at intel.com; fiona.trahe at intel.com; tdu at semihalf.com;
>jianjay.zhou at huawei.com
>Cc: dev at dpdk.org; Pablo de Lara <pablo.de.lara.guarch at intel.com>
>Subject: [PATCH v3 16/16] cryptodev: check if symmetric sessions are supported
>
>External Email
>
>Since asymmetric functionality will be implemented soon,
>not all PMDs must support symmetric sessions.
>Therefore, a check is added if a device does not implement
>the symmetric functions, meaning that the device does not
>support symmetric operations.
>
>Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
>---
> lib/librte_cryptodev/rte_cryptodev.c | 4 ++++
> lib/librte_cryptodev/rte_cryptodev.h | 4 +++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
>diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
>index 7af527075..58fb21056 100644
>--- a/lib/librte_cryptodev/rte_cryptodev.c
>+++ b/lib/librte_cryptodev/rte_cryptodev.c
>@@ -1063,6 +1063,8 @@ rte_cryptodev_sym_session_init(uint8_t dev_id,
>
>        index = dev->driver_id;
>
>+       RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->sym_session_configure, -ENOTSUP);
>+
>        if (sess->sess_private_data[index] == NULL) {
>                ret = dev->dev_ops->sym_session_configure(dev, xforms,
>                                                        sess, mp);
>@@ -1107,6 +1109,8 @@ rte_cryptodev_sym_session_clear(uint8_t dev_id,
>        if (dev == NULL || sess == NULL)
>                return -EINVAL;
>
>+       RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->sym_session_clear, -ENOTSUP);
>+
>        dev->dev_ops->sym_session_clear(dev, sess);
>
>        return 0;
>diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h
>index 32a210b00..c1066d01e 100644
>--- a/lib/librte_cryptodev/rte_cryptodev.h
>+++ b/lib/librte_cryptodev/rte_cryptodev.h
>@@ -896,7 +896,8 @@ rte_cryptodev_sym_session_free(struct rte_cryptodev_sym_session *sess);
>  * @return
>  *  - On success, zero.
>  *  - -EINVAL if input parameters are invalid.
>- *  - -ENOTSUP if crypto device does not support the crypto transform.
>+ *  - -ENOTSUP if crypto device does not support the crypto transform or
>+ *    does not support symmetric operations.

Acked with just one comment here Isn't it sufficient to say if device does not support symmetric?


>  *  - -ENOMEM if the private session could not be allocated.
>  */
> int
>@@ -917,6 +918,7 @@ rte_cryptodev_sym_session_init(uint8_t dev_id,
>  * @return
>  *  - 0 if successful.
>  *  - -EINVAL if device is invalid or session is NULL.
>+ *  - -ENOTSUP if crypto device does not support symmetric operations.
>  */
> int
> rte_cryptodev_sym_session_clear(uint8_t dev_id,
>--
>2.14.4



More information about the dev mailing list