From patchwork Tue Apr 23 15:43:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 53002 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6868E1B434; Tue, 23 Apr 2019 17:44:12 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id DC1FA1B434 for ; Tue, 23 Apr 2019 17:44:10 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 08:44:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,386,1549958400"; d="scan'208";a="293854390" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by orsmga004.jf.intel.com with ESMTP; 23 Apr 2019 08:44:09 -0700 From: Bruce Richardson To: pablo.de.lara.guarch@intel.com, dev@dpdk.org Cc: Bruce Richardson Date: Tue, 23 Apr 2019 16:43:55 +0100 Message-Id: <20190423154357.29877-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423154357.29877-1-bruce.richardson@intel.com> References: <20190423154357.29877-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Pablo de Lara --- 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').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 From patchwork Tue Apr 23 15:43:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 53003 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E28B61B447; Tue, 23 Apr 2019 17:44:16 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id B5E681B442 for ; Tue, 23 Apr 2019 17:44:12 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 08:44:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,386,1549958400"; d="scan'208";a="293854406" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by orsmga004.jf.intel.com with ESMTP; 23 Apr 2019 08:44:11 -0700 From: Bruce Richardson To: pablo.de.lara.guarch@intel.com, dev@dpdk.org Cc: Bruce Richardson Date: Tue, 23 Apr 2019 16:43:56 +0100 Message-Id: <20190423154357.29877-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423154357.29877-1-bruce.richardson@intel.com> References: <20190423154357.29877-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 2/3] crypto/aesni_mb: cleanup of version check code X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Pablo de Lara --- 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').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').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'] From patchwork Tue Apr 23 15:43:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 53004 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A0E721B454; Tue, 23 Apr 2019 17:44:20 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id ABC841B445 for ; Tue, 23 Apr 2019 17:44:14 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 08:44:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,386,1549958400"; d="scan'208";a="293854421" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by orsmga004.jf.intel.com with ESMTP; 23 Apr 2019 08:44:13 -0700 From: Bruce Richardson To: pablo.de.lara.guarch@intel.com, dev@dpdk.org Cc: Bruce Richardson Date: Tue, 23 Apr 2019 16:43:57 +0100 Message-Id: <20190423154357.29877-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423154357.29877-1-bruce.richardson@intel.com> References: <20190423154357.29877-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 3/3] crypto/aesni_gcm: add check for build dependency X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Signed-off-by: Bruce Richardson Acked-by: Pablo de Lara --- 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 ' | \ + $(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