Hi Shally, > -----Original Message----- > From: Verma, Shally [mailto:[email protected]] > Sent: Thursday, June 28, 2018 2:40 PM > To: De Lara Guarch, Pablo <[email protected]>; Doherty, Declan > <[email protected]>; [email protected]; [email protected]; > Jacob, Jerin <[email protected]>; Zhang, Roy Fan > <[email protected]>; Trahe, Fiona <[email protected]>; > [email protected]; [email protected] > Cc: [email protected] > Subject: RE: [PATCH v3 16/16] cryptodev: check if symmetric sessions are > supported > > > > >-----Original Message----- > >From: Pablo de Lara [mailto:[email protected]] > >Sent: 28 June 2018 06:23 > >To: [email protected]; [email protected]; Verma, Shally > ><[email protected]>; [email protected]; Jacob, Jerin > ><[email protected]>; [email protected]; > >[email protected]; [email protected]; [email protected] > >Cc: [email protected]; Pablo de Lara <[email protected]> > >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 <[email protected]> > >--- > > 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.

