Hi Anoob, Akhil, I know this patch is already applied, and that's ok. Just want to update with my thoughts on terminology of sessionless vs session-less. Arek suggested below using session-less for all except C code, for consistency with Symmetric crypto. And has done in a few places in API and documentation. However, Symmetric crypto has a mix of sessionless/Sessionless/session-less/session_less. And sessionless is used for not just code but also feature flag matrix and performance tool command line options. So I propose we use sessionless in all places except the few that already have session-less. I don't think it worth another asymmetric crypto API patch to change those. But we plan to use sessionless throughout the QAT asymmetric crypto PMD and asymm test code. Fiona
> -----Original Message----- > From: Kusztal, ArkadiuszX > Sent: Thursday, October 10, 2019 9:28 AM > To: Anoob Joseph <ano...@marvell.com>; dev@dpdk.org > Cc: akhil.go...@nxp.com; Trahe, Fiona <fiona.tr...@intel.com>; Shally Verma > <shal...@marvell.com> > Subject: RE: [dpdk-dev] [PATCH v4] cryptodev: extend api of asymmetric crypto > by sessionless > > Hi Anoob, > > > -----Original Message----- > > From: Anoob Joseph [mailto:ano...@marvell.com] > > Sent: Thursday, October 10, 2019 5:43 AM > > To: Kusztal, ArkadiuszX <arkadiuszx.kusz...@intel.com>; dev@dpdk.org > > Cc: akhil.go...@nxp.com; Trahe, Fiona <fiona.tr...@intel.com>; Shally > > Verma <shal...@marvell.com> > > Subject: RE: [dpdk-dev] [PATCH v4] cryptodev: extend api of asymmetric > > crypto by sessionless > > > > Hi Arek, > > > > Shouldn't we update release notes also? > Yes, good point, I will update. > > > > Also a minor observation, what is the usage that we should stick to? > > "session-less" or "sessionless". I see that we use it interchangeably. > Yes, I think it would be good if could unify this. > Symmetric API states: > "Session-less API crypto operation parameters" > So we can stick to that in everything that is not C identifier I suppose. > I will send v5 then. > > > > Thanks, > > Anoob > > > > > -----Original Message----- > > > From: dev <dev-boun...@dpdk.org> On Behalf Of Arek Kusztal > > > Sent: Wednesday, October 9, 2019 9:39 PM > > > To: dev@dpdk.org > > > Cc: akhil.go...@nxp.com; fiona.tr...@intel.com; Shally Verma > > > <shal...@marvell.com>; Anoob Joseph <ano...@marvell.com>; Arek > > Kusztal > > > <arkadiuszx.kusz...@intel.com> > > > Subject: [dpdk-dev] [PATCH v4] cryptodev: extend api of asymmetric > > > crypto by sessionless > > > > > > This commit adds asymmetric session-less option to rte_crypto_asym_op. > > > Feature flag for sessionless is added to rte_cryptodev. > > > > > > Signed-off-by: Arek Kusztal <arkadiuszx.kusz...@intel.com> > > > --- > > > v2: > > > - added union > > > v3: > > > - added entry into feature matrix > > > - added information to prog_guide > > > v4: > > > - fixed formatting > > > - fixed grammar > > > > > > doc/guides/cryptodevs/features/default.ini | 1 + > > > doc/guides/prog_guide/cryptodev_lib.rst | 9 ++++++++- > > > lib/librte_cryptodev/rte_crypto_asym.h | 9 +++++++-- > > > lib/librte_cryptodev/rte_cryptodev.h | 2 ++ > > > 4 files changed, 18 insertions(+), 3 deletions(-) > > > > > > diff --git a/doc/guides/cryptodevs/features/default.ini > > > b/doc/guides/cryptodevs/features/default.ini > > > index d3ee1af..b7f9a0a 100644 > > > --- a/doc/guides/cryptodevs/features/default.ini > > > +++ b/doc/guides/cryptodevs/features/default.ini > > > @@ -26,6 +26,7 @@ OOP LB In LB Out = > > > RSA PRIV OP KEY EXP = > > > RSA PRIV OP KEY QT = > > > Digest encrypted = > > > +Asymmetric sessionless = > > > > > > ; > > > ; Supported crypto algorithms of a default crypto driver. > > > diff --git a/doc/guides/prog_guide/cryptodev_lib.rst > > > b/doc/guides/prog_guide/cryptodev_lib.rst > > > index 9719944..4584834 100644 > > > --- a/doc/guides/prog_guide/cryptodev_lib.rst > > > +++ b/doc/guides/prog_guide/cryptodev_lib.rst > > > @@ -876,7 +876,14 @@ private asymmetric session data. Once this is > > > done, session should be freed usin > > > > > > Asymmetric Sessionless Support > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > -Currently asymmetric crypto framework does not support sessionless. > > > +Asymmetric crypto framework supports sessionless operations. > > > + > > > +Fields that should be set by user are: > > > + > > > +Member xform of struct rte_crypto_asym_op should point to the user > > > created rte_crypto_asym_xform. > > > +Note that this rte_crypto_asym_xform should be immutable for the > > > lifetime of associated crypto_op. > > > + > > > +Member sess_type of rte_crypto_op should be set to > > > RTE_CRYPTO_OP_SESSIONLESS. > > > > > > Transforms and Transform Chaining > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > diff --git a/lib/librte_cryptodev/rte_crypto_asym.h > > > b/lib/librte_cryptodev/rte_crypto_asym.h > > > index 4fbef2f..0d34ce8 100644 > > > --- a/lib/librte_cryptodev/rte_crypto_asym.h > > > +++ b/lib/librte_cryptodev/rte_crypto_asym.h > > > @@ -522,8 +522,13 @@ struct rte_crypto_dsa_op_param { > > > * > > > */ > > > struct rte_crypto_asym_op { > > > - struct rte_cryptodev_asym_session *session; > > > - /**< Handle for the initialised session context */ > > > + RTE_STD_C11 > > > + union { > > > + struct rte_cryptodev_asym_session *session; > > > + /**< Handle for the initialised session context */ > > > + struct rte_crypto_asym_xform *xform; > > > + /**< Session-less API crypto operation parameters */ > > > + }; > > > > > > __extension__ > > > union { > > > diff --git a/lib/librte_cryptodev/rte_cryptodev.h > > > b/lib/librte_cryptodev/rte_cryptodev.h > > > index e175b83..c6ffa3b 100644 > > > --- a/lib/librte_cryptodev/rte_cryptodev.h > > > +++ b/lib/librte_cryptodev/rte_cryptodev.h > > > @@ -448,6 +448,8 @@ rte_cryptodev_asym_get_xform_enum(enum > > > rte_crypto_asym_xform_type *xform_enum, /**< Support RSA Private Key > > > OP with CRT (quintuple) Keys */ > > > #define RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED (1ULL << 19) > > > /**< Support encrypted-digest operations where digest is appended to > > > data */ > > > +#define RTE_CRYPTODEV_FF_ASYM_SESSIONLESS (1ULL << 20) > > > +/**< Support asymmetric session-less operations */ > > > > > > > > > /** > > > -- > > > 2.1.0