Thread (135 messages) 135 messages, 5 authors, 2018-07-10

Re: [PATCH v3 16/16] cryptodev: check if symmetric sessions are supported

From: De Lara Guarch, Pablo <hidden>
Date: 2018-06-28 14:15:47

Hi Shally,
-----Original Message-----
From: Verma, Shally [mailto:Shally.Verma@cavium.com]
Sent: Thursday, June 28, 2018 2:40 PM
To: De Lara Guarch, Pablo <redacted>; Doherty, Declan
[off-list ref]; akhil.goyal@nxp.com; ravi1.kumar@amd.com;
Jacob, Jerin [off-list ref]; Zhang, Roy Fan
[off-list ref]; Trahe, Fiona [off-list ref];
tdu@semihalf.com; jianjay.zhou@huawei.com
Cc: dev@dpdk.org
Subject: RE: [PATCH v3 16/16] cryptodev: check if symmetric sessions are
supported


quoted
-----Original Message-----
From: Pablo de Lara [mailto:pablo.de.lara.guarch@intel.com]
Sent: 28 June 2018 06:23
To: declan.doherty@intel.com; akhil.goyal@nxp.com; Verma, Shally
[off-list ref]; ravi1.kumar@amd.com; Jacob, Jerin
[off-list ref]; roy.fan.zhang@intel.com;
fiona.trahe@intel.com; tdu@semihalf.com; jianjay.zhou@huawei.com
Cc: dev@dpdk.org; Pablo de Lara <redacted>
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 <redacted>
---
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?
No, because the device could not support a specific algorithm or other parameters,
such as key size, IV size, etc.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help