"Kusztal, ArkadiuszX" <arkadiuszx.kusz...@intel.com> writes:

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

So like you with 1.2.0 I didn't see the error, with 2.0.0 I see the
following, so I recommend that you update to 2.0.0 or later. I had
inadvertently reverted versions after a system rebuild.

ninja: Entering directory `./build-gcc-static'
ninja: no work to do.
ninja: Entering directory `./build-gcc-shared'
ninja: no work to do.
Error: ABI issue reported for 'abidiff --suppr 
/root/src/dpdk/devtools/../devtools/libabigail.abignore --no-added-syms 
--headers-dir1 
/root/src/dpdk/build_ref/v21.11/build-gcc-shared/usr/local/include 
--headers-dir2 /root/src/dpdk/build-gcc-shared/install/usr/local/include 
/root/src/dpdk/build_ref/v21.11/build-gcc-shared/dump/librte_cryptodev.dump 
/root/src/dpdk/build-gcc-shared/install/dump/librte_cryptodev.dump'
ABIDIFF_ABI_CHANGE, this change requires a review (abidiff flagged this as a 
potential issue).
Error: ABI issue reported for 'abidiff --suppr 
/root/src/dpdk/devtools/../devtools/libabigail.abignore --no-added-syms 
--headers-dir1 
/root/src/dpdk/build_ref/v21.11/build-gcc-shared/usr/local/include 
--headers-dir2 /root/src/dpdk/build-gcc-shared/install/usr/local/include 
/root/src/dpdk/build_ref/v21.11/build-gcc-shared/dump/librte_security.dump 
/root/src/dpdk/build-gcc-shared/install/dump/librte_security.dump'
ABIDIFF_ABI_CHANGE, this change requires a review (abidiff flagged this as a 
potential issue).

Me thinks, we need to add a check for libabigail version to the build
scripts.

That all said, Thomas's supression rule has better percision than the
original proposed. 


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



-- 
Regards, Ray K

Reply via email to