> -----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.

Reply via email to