[dpdk-dev] [EXT] [PATCH v4 00/14] drivers/crypto: introduce ipsec_mb framework

Akhil Goyal gakhil at marvell.com
Wed Oct 20 11:04:42 CEST 2021


> Hi Thomas,
> 
> As stated in all cryptodev guides for the PMDs based on intel-ipsec-mb,
> the minimum dependent intel-ipsec-mb lib version is bumped to 1.0.
> 
> Could you bump the library version and try again?
> 
Hi Fan,
The version is bumped.
I downloaded from the zip link https://github.com/01org/intel-ipsec-mb/archive/v1.0.zip
And Thomas pulled it from git.
And when I downloaded from master of https://github.com/intel/intel-ipsec-mb.

With the zip link it worked fine, but not from git.
I see there are some differences in the code. Could you check?


> Regards,
> Fan
> 
> > -----Original Message-----
> > From: Akhil Goyal <gakhil at marvell.com>
> > Sent: Wednesday, October 20, 2021 5:24 AM
> > To: Thomas Monjalon <thomas at monjalon.net>; Power, Ciara
> > <ciara.power at intel.com>; De Lara Guarch, Pablo
> > <pablo.de.lara.guarch at intel.com>; Mcnamara, John
> > <john.mcnamara at intel.com>
> > Cc: dev at dpdk.org; Zhang, Roy Fan <roy.fan.zhang at intel.com>; Bronowski,
> > PiotrX <piotrx.bronowski at intel.com>; mdr at ashroe.eu;
> > david.marchand at redhat.com
> > Subject: RE: [dpdk-dev] [EXT] [PATCH v4 00/14] drivers/crypto: introduce
> > ipsec_mb framework
> >
> > > 18/10/2021 17:21, Akhil Goyal:
> > > > > This set of patches introduces a new framework, making all common
> > > code of
> > > > > SW crypto PMD implementations built on top of intel-ipsec-mb library
> > > > > sharable. This helps to reduce future effort on the code maintenance
> > and
> > > > > future updates. It also moves all SW PMD implementation specific
> > details
> > > > > into single files located in the crypto/ipsec_mb folder.
> > > > > A CHACHA20_POLY1305 SW PMD is added based on this framework.
> > > > >
> > > > > Multi-process support for the PMDs is added for intel-ipsec-mb v1.1.
> > > > > The minimum intel-ipsec-mb version required is bumped to 1.0.
> > > > >
> > > > > ZUC-256 support is added for the aesni_mb PMD, with relevant tests.
> > > > >
> > > > > v4:
> > > >
> > > > Acked-by: Akhil Goyal <gakhil at marvell.com>
> > > > Patches are rebased over TOT of next-crypto
> > > > Release notes are updated
> > > > Applied to dpdk-next-crypto
> > >
> > > I think compilation has not been tested.
> >
> > I am not sure why this is failing at your end,
> > On my machine, it is getting compiled with intel-ipsec-mb v1.0.
> > I am double checking compilation for all the individual patches as well.
> > Will inform you once it is completed.
> > On TOT of next crypto, I did a quick test touched the pmd_zuc.c and it is
> > getting compiled.
> > cavium at cavium-DT13:~/up/dpdk-next-crypto$ touch
> > drivers/crypto/ipsec_mb/pmd_zuc.c
> > cavium at cavium-DT13:~/up/dpdk-next-crypto$ ./devtools/test-meson-
> > builds.sh
> > ninja: Entering directory `./build-gcc-static'
> > [24/24] Linking target app/test/dpdk-test.
> > ninja: Entering directory `./build-gcc-shared'
> > [8/8] Linking target drivers/librte_crypto_ipsec_mb.so.22.0.
> > ninja: Entering directory `./build-clang-static'
> > [24/24] Linking target app/test/dpdk-test.
> > ninja: Entering directory `./build-clang-shared'
> > [8/8] Linking target drivers/librte_crypto_ipsec_mb.so.22.0.
> > ninja: Entering directory `./build-x86-generic'
> > [9/9] Linking target buildtools/chkincs/chkincs.
> > ninja: Entering directory `./build-x86-mingw'
> > ninja: no work to do.
> >
> > > You need to update intel-ipsec-mb to v1.0.
> > > Result:
> > >
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: error: ‘hash_keys’ may be
> > used
> > > uninitialized [-Werror=maybe-uninitialized]/aesni/intel-ipsec-
> mb/lib/intel-
> > > ipsec-mb.h:1444:11: note: in definition of macro
> > ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: note: by argument 1 of type
> > > ‘const void * const*’ to ‘void(const void * const*, const void * const*,
> > const
> > > void * const*, const uint32_t *, uint32_t **, const uint32_t)’ {aka
> > ‘void(const
> > > void * const*, const void * const*, const void * const*, const unsigned int
> *,
> > > unsigned int **, const unsigned int)’}
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:145:21: note: ‘hash_keys’ declared
> > here
> > >   145 |         const void *hash_keys[ZUC_MAX_BURST];
> > >       |                     ^~~~~~~~~
> > > In file included from
> > > ../../dpdk/drivers/crypto/ipsec_mb/ipsec_mb_private.h:8,
> > >                  from ../../dpdk/drivers/crypto/ipsec_mb/pmd_zuc_priv.h:8,
> > >                  from ../../dpdk/drivers/crypto/ipsec_mb/pmd_zuc.c:5:
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: error: ‘iv’ may be used
> > > uninitialized [-Werror=maybe-uninitialized]
> > >   176 |         IMB_ZUC_EIA3_N_BUFFER(qp->mb_mgr, (const void
> > > **)hash_keys,
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: note: by argument 2 of type
> > > ‘const void * const*’ to ‘void(const void * const*, const void * const*,
> > const
> > > void * const*, const uint32_t *, uint32_t **, const uint32_t)’ {aka
> > ‘void(const
> > > void * const*, const void * const*, const void * const*, const unsigned int
> *,
> > > unsigned int **, const unsigned int)’}
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:144:18: note: ‘iv’ declared here
> > >   144 |         uint8_t *iv[ZUC_MAX_BURST];
> > >       |                  ^~
> > > In file included from
> > > ../../dpdk/drivers/crypto/ipsec_mb/ipsec_mb_private.h:8,
> > >                  from ../../dpdk/drivers/crypto/ipsec_mb/pmd_zuc_priv.h:8,
> > >                  from ../../dpdk/drivers/crypto/ipsec_mb/pmd_zuc.c:5:
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: error: ‘src’ may be used
> > > uninitialized [-Werror=maybe-uninitialized]
> > >   176 |         IMB_ZUC_EIA3_N_BUFFER(qp->mb_mgr, (const void
> > > **)hash_keys,
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > ../../dpdk/d(const void * const*, const void * const*, const void * const*,
> > > const uint32_t *, uint32_t **, const uint32_t)’ {aka ‘void(const void *
> > const*,
> > > const void * const*, const void * const*, const unsigned int *, unsigned
> int
> > > **, const unsigned int)’}
> > >   176 |         IMB_ZUC_EIA3_N_BUFFER(qp->mb_mgr, (const void
> > > **)hash_keys,
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:141:18: note: ‘src’ declared here
> > >   141 |         uint8_t *src[ZUC_MAX_BURST];
> > >       |                  ^~~
> > > In file included from
> > > ../../dpdk/drivers/crypto/ipsec_mb/ipsec_mb_private.h:8,
> > >                  from ../../dpdk/drivers/crypto/ipsec_mb/pmd_zuc_priv.h:8,
> > >                  from ../../dpdk/drivers/crypto/ipsec_mb/pmd_zuc.c:5:
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: error: ‘length_in_bits’ may
> be
> > > used uninitialized [-Werror=maybe-uninitialized]
> > >   176 |         IMB_ZUC_EIA3_N_BUFFER(qp->mb_mgr, (const void
> > > **)hash_keys,
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:176:33: note: by argument 4 of type
> > > ‘const uint32_t *’ {aka ‘const unsigned int *’} to ‘void(const void * const*,
> > > const void * const*, const void * const*, const uint32_t *, uint32_t **,
> > const
> > > uint32_t)’ {aka ‘void(const void * const*, const void * const*, const void *
> > > const*, const unsigned int *, unsigned int **, const unsigned int)’}
> > >   176 |         IMB_ZUC_EIA3_N_BUFFER(qp->mb_mgr, (const void
> > > **)hash_keys,
> > > /aesni/intel-ipsec-mb/lib/intel-ipsec-mb.h:1444:11: note: in definition of
> > > macro ‘IMB_ZUC_EIA3_N_BUFFER’
> > >  1444 |         ((_mgr)->eia3_n_buffer((_key), (_iv), (_in), (_len), (_tag),
> > > (_num)))
> > >       |           ^~~~
> > > drivers/crypto/ipsec_mb/pmd_zuc.c:143:18: note: ‘length_in_bits’
> > declared
> > > here
> > >   143 |         uint32_t length_in_bits[ZUC_MAX_BURST];
> > >       |                  ^~~~~~~~~~~~~~
> > > cc1: all warnings being treated as errors
> > >
> > > I think I will just drop all these patches from 21.11-rc1.
> > >
> > > Not sure I will accept any new revision, given how I am annoyed recently
> > > by such bad work in Intel.
> > >



More information about the dev mailing list