> -----Original Message-----
> From: Akhil Goyal <gak...@marvell.com>
> Sent: Wednesday, May 25, 2022 8:06 AM
> To: Kusztal, ArkadiuszX <arkadiuszx.kusz...@intel.com>; dev@dpdk.org; Kiran
> Kumar Kokkilagadda <kirankum...@marvell.com>; Anoob Joseph
> <ano...@marvell.com>
> Cc: Zhang, Roy Fan <roy.fan.zh...@intel.com>
> Subject: RE: [EXT] [PATCH 11/40] cryptodev: remove asym crypto next xform
>
> > > > - removed asymnetric crypto xform next field.
> > > > Rationale behind having chaining in symmetric crypto was a fact
> > > > that encryption and authentication are usually done on the same
> > > > set of data independent of algorithm.
> > > > HW usually will be able to handle it in one PCI call.
> > > > In asymmetric there is no such relation between algorithms,
> > > > therefore next field would be useless.
> > > >
> > > > Signed-off-by: Arek Kusztal <arkadiuszx.kusz...@intel.com>
> > >
> > > Please check documentation "doc/guides/prog_guide/cryptodev_lib.rst"
> > > Not all asymmetric crypto xforms are supported for chaining.
> > > Currently supported asymmetric crypto chaining is Diffie-Hellman
> > > private key generation followed by public generation.
> > [Arek] And why do chaining when this can be done even with one bit flag.
> >
> I believe it is OK to remove next. @Kiran Kumar Kokkilagadda/Anoob please
> confirm.
>
> If we are removing it, then documentation should be in sync.
[Arek] - although, we may keep it for now, I am not dropping it in v2. DH priv
+ pub can be done with priv_key.len = 0 -> similar as 'k' in ecdsa when k.data
= NULL.
But I do not see any situation for now it will be useful, it may be dropped
later if not application found.
>
> > Also, currently API does not support chaining of
> > > symmetric and asymmetric crypto xforms.
> > [Arek] - This is one unlikely scenario to combine symmetric and
> > asymmetric. One I can think of was once proposed DH + DSA integration
> > for random number. But not much else, although we can keep it around for a
> while.
>
> Yes it is highly unlikely to use this combination.
>
> > >
> > > > ---
> > > > lib/cryptodev/rte_crypto_asym.h | 2 --
> > > > 1 file changed, 2 deletions(-)
> > > >
> > > > diff --git a/lib/cryptodev/rte_crypto_asym.h
> > > > b/lib/cryptodev/rte_crypto_asym.h index 1652a434a5..b355cbe5fa
> > > > 100644
> > > > --- a/lib/cryptodev/rte_crypto_asym.h
> > > > +++ b/lib/cryptodev/rte_crypto_asym.h
> > > > @@ -492,8 +492,6 @@ struct rte_crypto_ecpm_op_param {
> > > > * Structure describing asym xforms.
> > > > */
> > > > struct rte_crypto_asym_xform {
> > > > - struct rte_crypto_asym_xform *next;
> > > > - /**< Pointer to next xform to set up xform chain.*/
> > > > enum rte_crypto_asym_xform_type xform_type;
> > > > /**< Asymmetric crypto transform */
> > > >
> > > > --
> > > > 2.13.6