All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks
@ 2019-04-23 15:43 Bruce Richardson
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check Bruce Richardson
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Bruce Richardson @ 2019-04-23 15:43 UTC (permalink / raw)
  To: pablo.de.lara.guarch, dev; +Cc: Bruce Richardson

For both meson and make builds, the version checks for IPsec_MB library
were incomplete. This fixes both and makes the checks consistent.

Bruce Richardson (3):
  crypto/aesni_gcm: add dependency version check
  crypto/aesni_mb: cleanup of version check code
  crypto/aesni_gcm: add check for build dependency

 drivers/crypto/aesni_gcm/Makefile    | 19 ++++++++++++++++---
 drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
 drivers/crypto/aesni_mb/meson.build  | 18 +++++++++---------
 3 files changed, 36 insertions(+), 12 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
  2019-04-23 15:43 [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Bruce Richardson
@ 2019-04-23 15:43 ` Bruce Richardson
  2019-04-24  7:53   ` De Lara Guarch, Pablo
  2019-04-24  9:19   ` Luca Boccassi
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 2/3] crypto/aesni_mb: cleanup of version check code Bruce Richardson
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 11+ messages in thread
From: Bruce Richardson @ 2019-04-23 15:43 UTC (permalink / raw)
  To: pablo.de.lara.guarch, dev; +Cc: Bruce Richardson

The aesni_mb driver and the aesni_gcm driver both require the same version
of the IPSec_MB library, but only the former has a check of the library
found by meson to see if it's the correct version. Add a similar check to
the aesni_gcm library's meson.build file, so that the auto-detection of
dependencies works correctly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/crypto/aesni_gcm/meson.build b/drivers/crypto/aesni_gcm/meson.build
index 70f57ad73..7183cfcba 100644
--- a/drivers/crypto/aesni_gcm/meson.build
+++ b/drivers/crypto/aesni_gcm/meson.build
@@ -1,11 +1,22 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
 	build = false
 else
 	ext_deps += lib
+
+	# version comes with quotes, so we split based on " and take the middle
+	imb_ver = cc.get_define('IMB_VERSION_STR',
+		prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
+
+	if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
+		message('IPSec_MB version >= @0@ is required, found version @1@'.format(
+				IMB_required_ver, imb_ver))
+		build = false
+	endif
 endif
 
 allow_experimental_apis = true
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [dpdk-dev] [PATCH v2 2/3] crypto/aesni_mb: cleanup of version check code
  2019-04-23 15:43 [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Bruce Richardson
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check Bruce Richardson
@ 2019-04-23 15:43 ` Bruce Richardson
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency Bruce Richardson
  2019-04-24 10:52 ` [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Luca Boccassi
  3 siblings, 0 replies; 11+ messages in thread
From: Bruce Richardson @ 2019-04-23 15:43 UTC (permalink / raw)
  To: pablo.de.lara.guarch, dev; +Cc: Bruce Richardson

The version check for the IPSec_MB library present in the aesni_gcm
library's meson.build file is a little cleaner than that given here,
so update this one so that both work identically.

While one could use the checks done in the other right now, potentially in
future they may have different version dependencies, or may be compiled in
different orders, so keep the code duplicated for safety, since it's only a
few lines.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/crypto/aesni_mb/meson.build | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/crypto/aesni_mb/meson.build b/drivers/crypto/aesni_mb/meson.build
index fbc4878af..7c1eb3f86 100644
--- a/drivers/crypto/aesni_mb/meson.build
+++ b/drivers/crypto/aesni_mb/meson.build
@@ -1,25 +1,25 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
-IPSec_MB_ver_0_52 = '0.52.0'
+
+IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
 	build = false
 else
 	ext_deps += lib
 
-	imb_arr = cc.get_define('IMB_VERSION_STR',
-		prefix : '#include<intel-ipsec-mb.h>').split('"')
-
-	imb_ver = ''.join(imb_arr)
+	# version comes with quotes, so we split based on " and take the middle
+	imb_ver = cc.get_define('IMB_VERSION_STR',
+		prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
 
-	if (imb_ver == '') or (imb_ver.version_compare('<' + IPSec_MB_ver_0_52))
-		message('IPSec_MB version >= 0.52 is required')
+	if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
+		message('IPSec_MB version >= @0@ is required, found version @1@'.format(
+				IMB_required_ver, imb_ver))
 		build = false
-	else
-		sources = files('rte_aesni_mb_pmd.c', 'rte_aesni_mb_pmd_ops.c')
 	endif
 
 endif
 
+sources = files('rte_aesni_mb_pmd.c', 'rte_aesni_mb_pmd_ops.c')
 allow_experimental_apis = true
 deps += ['bus_vdev']
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency
  2019-04-23 15:43 [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Bruce Richardson
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check Bruce Richardson
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 2/3] crypto/aesni_mb: cleanup of version check code Bruce Richardson
@ 2019-04-23 15:43 ` Bruce Richardson
  2019-04-24  7:53   ` De Lara Guarch, Pablo
  2019-04-24 10:52 ` [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Luca Boccassi
  3 siblings, 1 reply; 11+ messages in thread
From: Bruce Richardson @ 2019-04-23 15:43 UTC (permalink / raw)
  To: pablo.de.lara.guarch, dev; +Cc: Bruce Richardson

The aesni_mb driver has a check in its Makefile for the correct version of
the IPsec_MB library, but this check was missed for the aesni_gcm driver.
Add this check to the makefile, removing an unnecessary assignment in the
process.

Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/crypto/aesni_gcm/Makefile | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile
index 9241ad762..39eff3db0 100644
--- a/drivers/crypto/aesni_gcm/Makefile
+++ b/drivers/crypto/aesni_gcm/Makefile
@@ -23,11 +23,24 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_cryptodev
 LDLIBS += -lrte_bus_vdev
 
+IMB_HDR = $(shell echo '\#include <intel-ipsec-mb.h>' | \
+	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
+	head -n1 | cut -d'"' -f2)
+
+# Detect library version
+IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
+IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
+
+ifeq ($(IMB_VERSION),)
+$(error "IPSec_MB version >= 0.52 is required")
+endif
+
+ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
+$(error "IPSec_MB version >= 0.52 is required")
+endif
+
 # library source files
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd.c
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd_ops.c
 
-# export include files
-SYMLINK-y-include +=
-
 include $(RTE_SDK)/mk/rte.lib.mk
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency Bruce Richardson
@ 2019-04-24  7:53   ` De Lara Guarch, Pablo
  0 siblings, 0 replies; 11+ messages in thread
From: De Lara Guarch, Pablo @ 2019-04-24  7:53 UTC (permalink / raw)
  To: Richardson, Bruce, dev



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, April 23, 2019 4:44 PM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency
> 
> The aesni_mb driver has a check in its Makefile for the correct version of the
> IPsec_MB library, but this check was missed for the aesni_gcm driver.
> Add this check to the makefile, removing an unnecessary assignment in the
> process.
> 
> Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check Bruce Richardson
@ 2019-04-24  7:53   ` De Lara Guarch, Pablo
  2019-04-24  9:19   ` Luca Boccassi
  1 sibling, 0 replies; 11+ messages in thread
From: De Lara Guarch, Pablo @ 2019-04-24  7:53 UTC (permalink / raw)
  To: Richardson, Bruce, dev



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, April 23, 2019 4:44 PM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
> 
> The aesni_mb driver and the aesni_gcm driver both require the same version
> of the IPSec_MB library, but only the former has a check of the library found
> by meson to see if it's the correct version. Add a similar check to the
> aesni_gcm library's meson.build file, so that the auto-detection of
> dependencies works correctly.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check Bruce Richardson
  2019-04-24  7:53   ` De Lara Guarch, Pablo
@ 2019-04-24  9:19   ` Luca Boccassi
  2019-04-24 10:38     ` Bruce Richardson
  1 sibling, 1 reply; 11+ messages in thread
From: Luca Boccassi @ 2019-04-24  9:19 UTC (permalink / raw)
  To: Bruce Richardson, pablo.de.lara.guarch, dev

On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> The aesni_mb driver and the aesni_gcm driver both require the same
> version
> of the IPSec_MB library, but only the former has a check of the
> library
> found by meson to see if it's the correct version. Add a similar
> check to
> the aesni_gcm library's meson.build file, so that the auto-detection
> of
> dependencies works correctly.
> 
> Signed-off-by: Bruce Richardson <
> bruce.richardson@intel.com
> >
> ---
>  drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/crypto/aesni_gcm/meson.build
> b/drivers/crypto/aesni_gcm/meson.build
> index 70f57ad73..7183cfcba 100644
> --- a/drivers/crypto/aesni_gcm/meson.build
> +++ b/drivers/crypto/aesni_gcm/meson.build
> @@ -1,11 +1,22 @@
>  # SPDX-License-Identifier: BSD-3-Clause
>  # Copyright(c) 2018 Intel Corporation
>  
> +IMB_required_ver = '0.52.0'
>  lib = cc.find_library('IPSec_MB', required: false)
>  if not lib.found()
>  	build = false
>  else
>  	ext_deps += lib

Shouldn't this be moved into a new else branch after the version check?

> +
> +	# version comes with quotes, so we split based on " and take
> the middle
> +	imb_ver = cc.get_define('IMB_VERSION_STR',
> +		prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
> +
> +	if (imb_ver == '') or (imb_ver.version_compare('<' +
> IMB_required_ver))
> +		message('IPSec_MB version >= @0@ is required, found
> version @1@'.format(
> +				IMB_required_ver, imb_ver))
> +		build = false
> +	endif
>  endif
>  
>  allow_experimental_apis = true
> 
-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
  2019-04-24  9:19   ` Luca Boccassi
@ 2019-04-24 10:38     ` Bruce Richardson
  2019-04-24 10:52       ` Luca Boccassi
  0 siblings, 1 reply; 11+ messages in thread
From: Bruce Richardson @ 2019-04-24 10:38 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: pablo.de.lara.guarch, dev

On Wed, Apr 24, 2019 at 10:19:20AM +0100, Luca Boccassi wrote:
> On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> > The aesni_mb driver and the aesni_gcm driver both require the same
> > version
> > of the IPSec_MB library, but only the former has a check of the
> > library
> > found by meson to see if it's the correct version. Add a similar
> > check to
> > the aesni_gcm library's meson.build file, so that the auto-detection
> > of
> > dependencies works correctly.
> > 
> > Signed-off-by: Bruce Richardson <
> > bruce.richardson@intel.com
> > >
> > ---
> >  drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/drivers/crypto/aesni_gcm/meson.build
> > b/drivers/crypto/aesni_gcm/meson.build
> > index 70f57ad73..7183cfcba 100644
> > --- a/drivers/crypto/aesni_gcm/meson.build
> > +++ b/drivers/crypto/aesni_gcm/meson.build
> > @@ -1,11 +1,22 @@
> >  # SPDX-License-Identifier: BSD-3-Clause
> >  # Copyright(c) 2018 Intel Corporation
> >  
> > +IMB_required_ver = '0.52.0'
> >  lib = cc.find_library('IPSec_MB', required: false)
> >  if not lib.found()
> >  	build = false
> >  else
> >  	ext_deps += lib
> 
> Shouldn't this be moved into a new else branch after the version check?
> 
No, it's harmless where it is, since if build is set to false, the values
set for sources, deps etc. are all ignored and reset for building the next
driver in the list.

/Bruce

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
  2019-04-24 10:38     ` Bruce Richardson
@ 2019-04-24 10:52       ` Luca Boccassi
  0 siblings, 0 replies; 11+ messages in thread
From: Luca Boccassi @ 2019-04-24 10:52 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: pablo.de.lara.guarch, dev

On Wed, 2019-04-24 at 11:38 +0100, Bruce Richardson wrote:
> On Wed, Apr 24, 2019 at 10:19:20AM +0100, Luca Boccassi wrote:
> > On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> > > The aesni_mb driver and the aesni_gcm driver both require the
> > > same
> > > version
> > > of the IPSec_MB library, but only the former has a check of the
> > > library
> > > found by meson to see if it's the correct version. Add a similar
> > > check to
> > > the aesni_gcm library's meson.build file, so that the auto-
> > > detection
> > > of
> > > dependencies works correctly.
> > > 
> > > Signed-off-by: Bruce Richardson <
> > > bruce.richardson@intel.com
> > > 
> > > 
> > > ---
> > >  drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
> > >  1 file changed, 11 insertions(+)
> > > 
> > > diff --git a/drivers/crypto/aesni_gcm/meson.build
> > > b/drivers/crypto/aesni_gcm/meson.build
> > > index 70f57ad73..7183cfcba 100644
> > > --- a/drivers/crypto/aesni_gcm/meson.build
> > > +++ b/drivers/crypto/aesni_gcm/meson.build
> > > @@ -1,11 +1,22 @@
> > >  # SPDX-License-Identifier: BSD-3-Clause
> > >  # Copyright(c) 2018 Intel Corporation
> > >  
> > > +IMB_required_ver = '0.52.0'
> > >  lib = cc.find_library('IPSec_MB', required: false)
> > >  if not lib.found()
> > >  	build = false
> > >  else
> > >  	ext_deps += lib
> > 
> > Shouldn't this be moved into a new else branch after the version
> > check?
> > 
> 
> No, it's harmless where it is, since if build is set to false, the
> values
> set for sources, deps etc. are all ignored and reset for building the
> next
> driver in the list.
> 
> /Bruce

Ah I see, thanks

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks
  2019-04-23 15:43 [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Bruce Richardson
                   ` (2 preceding siblings ...)
  2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency Bruce Richardson
@ 2019-04-24 10:52 ` Luca Boccassi
  2019-04-30  6:48   ` Akhil Goyal
  3 siblings, 1 reply; 11+ messages in thread
From: Luca Boccassi @ 2019-04-24 10:52 UTC (permalink / raw)
  To: Bruce Richardson, pablo.de.lara.guarch, dev

On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> For both meson and make builds, the version checks for IPsec_MB
> library
> were incomplete. This fixes both and makes the checks consistent.
> 
> Bruce Richardson (3):
>   crypto/aesni_gcm: add dependency version check
>   crypto/aesni_mb: cleanup of version check code
>   crypto/aesni_gcm: add check for build dependency
> 
>  drivers/crypto/aesni_gcm/Makefile    | 19 ++++++++++++++++---
>  drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
>  drivers/crypto/aesni_mb/meson.build  | 18 +++++++++---------
>  3 files changed, 36 insertions(+), 12 deletions(-)
> 

Series-acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks
  2019-04-24 10:52 ` [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Luca Boccassi
@ 2019-04-30  6:48   ` Akhil Goyal
  0 siblings, 0 replies; 11+ messages in thread
From: Akhil Goyal @ 2019-04-30  6:48 UTC (permalink / raw)
  To: Luca Boccassi, Bruce Richardson, pablo.de.lara.guarch, dev

> 
> Series-acked-by: Luca Boccassi <bluca@debian.org>
> 
> 
Applied to dpdk-next-crypto

Thanks.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-04-30  6:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 15:43 [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Bruce Richardson
2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check Bruce Richardson
2019-04-24  7:53   ` De Lara Guarch, Pablo
2019-04-24  9:19   ` Luca Boccassi
2019-04-24 10:38     ` Bruce Richardson
2019-04-24 10:52       ` Luca Boccassi
2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 2/3] crypto/aesni_mb: cleanup of version check code Bruce Richardson
2019-04-23 15:43 ` [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency Bruce Richardson
2019-04-24  7:53   ` De Lara Guarch, Pablo
2019-04-24 10:52 ` [dpdk-dev] [PATCH v2 0/3] improve IPsec_MB dependency checks Luca Boccassi
2019-04-30  6:48   ` Akhil Goyal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.