> -----Original Message-----
> From: Akhil Goyal <gak...@marvell.com>
> Sent: Thursday, June 2, 2022 4:25 PM
> To: Ray Kinsella <m...@ashroe.eu>
> Cc: Kusztal, ArkadiuszX <arkadiuszx.kusz...@intel.com>; dev@dpdk.org; Zhang,
> Roy Fan <roy.fan.zh...@intel.com>
> Subject: RE: [EXT] [PATCH v5 06/12] cryptodev: add elliptic curve diffie
> hellman
>
> >
> > Akhil Goyal <gak...@marvell.com> writes:
> >
> > >> - Added elliptic curve Diffie-Hellman parameters.
> > >> Point multiplication allows the user to process every phase of
> > >> ECDH, but for phase 1, user should not really care about the generator.
> > >> The user does not even need to know what the generator looks like,
> > >> therefore setting ec xform would make this work.
> > >>
> > >> Signed-off-by: Arek Kusztal <arkadiuszx.kusz...@intel.com>
> > >> ---
> > >> devtools/libabigail.abignore | 3 +++
> > >> doc/guides/cryptodevs/features/default.ini | 1 +
> > >> doc/guides/prog_guide/cryptodev_lib.rst | 7 +++---
> > >> doc/guides/rel_notes/release_22_07.rst | 2 ++
> > >> lib/cryptodev/rte_crypto_asym.h | 38
> > >> ++++++++++++++++++++++++++++++
> > >> 5 files changed, 48 insertions(+), 3 deletions(-)
> > >>
> > >> diff --git a/devtools/libabigail.abignore
> > >> b/devtools/libabigail.abignore index 79ff15dc4e..6d174b291f 100644
> > >> --- a/devtools/libabigail.abignore
> > >> +++ b/devtools/libabigail.abignore
> > >> @@ -27,6 +27,9 @@
> > >> ; Ignore changes to rte_crypto_asym_op, asymmetric crypto API is
> > >> experimental [suppress_type]
> > >> name = rte_crypto_asym_op
> > >> +; Ignore changes to rte_crypto_asym_xform_type, asymmetric crypto
> > >> +API is
> > >> experimental
> > >> +[suppress_type]
> > >> + name = rte_crypto_asym_xform_type
> > >>
> > > This exception does not seem to work.
> > > Thomas and I are getting ABI issues even with this suppress rule.
> > >
> > > [C] 'function void rte_cryptodev_info_get(uint8_t,
> > > rte_cryptodev_info*)' at
> > rte_cryptodev.c:1582:1 has some indirect sub-type changes:
> > > parameter 2 of type 'rte_cryptodev_info*' has sub-type changes:
> > > in pointed to type 'struct rte_cryptodev_info' at
> > > rte_cryptodev.h:503:1:
> > > type size hasn't changed
> > > 1 data member change:
> > > type of 'const rte_cryptodev_capabilities* capabilities'
> > > changed:
> > > in pointed to type 'const rte_cryptodev_capabilities':
> > > in unqualified underlying type 'struct
> > > rte_cryptodev_capabilities' at
> > rte_cryptodev.h:198:1:
> > > type size hasn't changed
> > > 1 data member change:
> > > type of 'anonymous data member union
> > {rte_cryptodev_symmetric_capability sym;
> > rte_cryptodev_asymmetric_capability asym;}' changed:
> > > type size hasn't changed
> > > 1 data member change:
> > > type of 'rte_cryptodev_asymmetric_capability asym'
> > > changed:
> > > type size hasn't changed
> > > 1 data member change:
> > > type of
> > > 'rte_cryptodev_asymmetric_xform_capability
> > xform_capa' changed:
> > > type size hasn't changed
> > > 1 data member change:
> > > type of 'rte_crypto_asym_xform_type
> > > xform_type' changed:
> > > type size hasn't changed
> > > 1 enumerator insertion:
> > >
> > 'rte_crypto_asym_xform_type::RTE_CRYPTO_ASYM_XFORM_ECDH' value '8'
> > > 2 enumerator changes:
> > >
> > 'rte_crypto_asym_xform_type::RTE_CRYPTO_ASYM_XFORM_ECPM' from
> value
> > '8' to '9' at rte_crypto_asym.h:80:1
> > >
> > 'rte_crypto_asym_xform_type::RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END'
> > from value '9' to '10' at rte_crypto_asym.h:80:1
> >
> > Ok - will take a look see.
> Thomas has fixed the suppress rule while pulling on main.
For some unknown reason both:
[suppress_type]
type_kind = enum
changed_enumerators = RTE_CRYPTO_ASYM_XFORM_ECPM,
RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
and
[suppress_type]
name = rte_crypto_asym_xform_type
works fine for me with check-abi tool:
{DPDK_NEW}/devtools/check-abi.sh ${DPDK_REF}/build/ref ${DPDK_NEW}/build/new
Otherwise I get:
1 function with some indirect sub-type change:
[C]'function void rte_cryptodev_info_get(uint8_t, rte_cryptodev_info*)' at
rte_cryptodev.c:1582:1 has some indirect sub-type changes:
parameter 2 of type 'rte_cryptodev_info*' has sub-type changes:
abidiff: 1.2.0 version
@Akhil - additionally RTE_CRYPTO_ASYM_XFORM_ECDH was supposed to be placed at
the end of the enum. My mistake, I have placed it incorrectly.
Would a fix that swaps these enums be accepted? This could potentially remove
changed_enumerators = RTE_CRYPTO_ASYM_XFORM_ECPM.