On Thu, May 19, 2022 at 01:25:25PM +0100, Zhang, Roy Fan wrote: > Hi Bruce, > > > -----Original Message----- > > From: Richardson, Bruce <bruce.richard...@intel.com> > > Sent: Thursday, May 19, 2022 11:23 AM > > To: Zhang, Roy Fan <roy.fan.zh...@intel.com> > > Cc: Ferruh Yigit <ferruh.yi...@xilinx.com>; Ji, Kai <kai...@intel.com>; > > dev@dpdk.org > > Subject: Re: [dpdk-dev v2 1/2] build: add in option for qat use intel > > ipsec-mb > > lib > > > > On Thu, May 19, 2022 at 10:14:14AM +0100, Zhang, Roy Fan wrote: > > > > -----Original Message----- > > > > From: Richardson, Bruce <bruce.richard...@intel.com> > > > > Sent: Wednesday, May 18, 2022 11:33 AM > > > > To: Ferruh Yigit <ferruh.yi...@xilinx.com> > > > > Cc: Ji, Kai <kai...@intel.com>; dev@dpdk.org; Zhang, Roy Fan > > > > <roy.fan.zh...@intel.com> > > > > Subject: Re: [dpdk-dev v2 1/2] build: add in option for qat use intel > > > > ipsec- > > mb > > > > lib > > > > > > > > On Wed, May 18, 2022 at 11:26:27AM +0100, Ferruh Yigit wrote: > > > > > On 5/18/2022 9:04 AM, Bruce Richardson wrote: > > > > > > On Tue, May 17, 2022 at 10:16:51PM +0800, Kai Ji wrote: > > > > > > > Add in build option for QAT pmd use intel ipsec-mb lib > > > > > > > instead openssl for precompute partial hash & aes. > > > > > > > > > > > > > > Signed-off-by: Kai Ji <kai...@intel.com> > > > > > > > --- > > > > > > > drivers/common/qat/meson.build | 12 ++++++++++++ > > > > > > > meson_options.txt | 2 ++ > > > > > > > 2 files changed, 14 insertions(+) > > > > > > > > > > > > > > diff --git a/drivers/common/qat/meson.build > > > > b/drivers/common/qat/meson.build > > > > > > > index b7027f3164..d6eaff3e0e 100644 > > > > > > > --- a/drivers/common/qat/meson.build > > > > > > > +++ b/drivers/common/qat/meson.build > > > > > > > @@ -35,6 +35,18 @@ if qat_crypto and not libcrypto.found() > > > > > > > 'missing dependency, libcrypto') > > > > > > > endif > > > > > > > +if get_option('qat_libipsecmb') > > > > > > > + IMB_required_ver = '1.0.0' > > > > > > > + libipsecmb = cc.find_library('IPSec_MB', required: false) > > > > > > > + if not lib.found() > > > > > > > + build = false > > > > > > > + reason = 'missing dependency, "libIPSec_MB"' > > > > > > > + else > > > > > > > + ext_deps += libipsecmb > > > > > > > + dpdk_conf.set('RTE_QAT_LIBIPSECMB', true) > > > > > > > + endif > > > > > > > +endif > > > > > > > + > > > > > > > > > > > > In general it's not a good idea for individual drivers to add > > > > > > top-level > > > > > > meson.build options. If every driver does this for all its options > > > > > > we will > > > > > > have an unmanageable set of hundreds of options. Unfortunately, > > > > though, I > > > > > > don't see a really good way to replace this with something other > > > > > > than > > a > > > > > > build option - I assume it's not just good enough to check which of > > > > > > the > > > > > > dependencies is found/not-found? Is there some way that this can be > > a > > > > > > generic option, that may be applicable to other drivers? Could the > > option > > > > > > be instead to prioritize FIPs compatibility? > > > > > > > > > > > > > > > > +1 to not have top level meson option for a driver. > > > > > > > > > > Will it work to give priority to intel-ipsec-mb lib, like when > > > > > ipsec-mb > > > > > library exists use it, else use openssl? > > > > > > > > Looking at the patch a bit more, is there a reason why this cannot be > > made > > > > a run-time option when both libraries are available? > > > > > > Hi Bruce, > > > > > > Thanks for the review. > > > Are you suggesting adding a EAL option to the QAT PMD? > > > > > I was thinking you can add a driver option, to allow switching from the > > default if both openssl and ipsec-mb were available to be compiled in. > > We may have to use macros to filter out openssl deprecated API calls > otherwise the warning may still be there. Also what kind of driver option > are we talking about - any reference you can point to us? Much appreciated! >
Many drivers support additional parameters, but the vdev's are the most common case. For example, AF_XDP: http://git.dpdk.org/dpdk/tree/drivers/net/af_xdp/rte_eth_af_xdp.c#n2056 or for a physical PCI devices, i40e: http://git.dpdk.org/dpdk/tree/drivers/net/i40e/i40e_ethdev.c#n12133 /Bruce