From patchwork Tue Apr 3 13:30:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kovacevic, Marko" X-Patchwork-Id: 36948 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 7155B1B72C; Tue, 3 Apr 2018 15:29:53 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 596F01B69D for ; Tue, 3 Apr 2018 15:29:51 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2018 06:29:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,401,1517904000"; d="scan'208";a="43020927" Received: from silpixa00399502.ir.intel.com (HELO silpixa00399502.ger.corp.intel.com) ([10.237.223.218]) by fmsmga004.fm.intel.com with ESMTP; 03 Apr 2018 06:29:49 -0700 From: "Kovacevic, Marko" To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com, "Kovacevic, Marko" Date: Tue, 3 Apr 2018 14:30:00 +0100 Message-Id: <20180403133000.34131-2-marko.kovacevic@intel.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20180403133000.34131-1-marko.kovacevic@intel.com> References: <20180327121430.44541-1-marko.kovacevic@intel.com> <20180403133000.34131-1-marko.kovacevic@intel.com> Subject: [dpdk-dev] [PATCH v2 2/2] crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49 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" Adds support for the v0.49 of the IPsec Multi-buffer lib, which now gets compiled and installed as a shared object. Therefore, there is no need to pass the AESNI_MULTI_BUFFER_LIB_PATH Signed-off-by: Marko Kovacevic --- V2: Added commit body message --- devtools/test-build.sh | 7 ++++--- doc/guides/cryptodevs/aesni_gcm.rst | 13 ++++++------- drivers/crypto/aesni_gcm/Makefile | 10 +--------- drivers/crypto/aesni_gcm/aesni_gcm_ops.h | 3 +-- mk/rte.app.mk | 2 +- 5 files changed, 13 insertions(+), 22 deletions(-) diff --git a/devtools/test-build.sh b/devtools/test-build.sh index 600a763..20c261c 100755 --- a/devtools/test-build.sh +++ b/devtools/test-build.sh @@ -33,7 +33,6 @@ default_path=$PATH # Load config options: -# - AESNI_MULTI_BUFFER_LIB_PATH # - ARMV8_CRYPTO_LIB_PATH # - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2) # - DPDK_DEP_ARCHIVE @@ -44,6 +43,7 @@ default_path=$PATH # - DPDK_DEP_PCAP (y/[n]) # - DPDK_DEP_SSL (y/[n]) # - DPDK_DEP_AESNI_MB (y/[n]) +# - DPDK_DEP_AESNI_GCM (y/[n]) # - DPDK_DEP_SZE (y/[n]) # - DPDK_DEP_ZLIB (y/[n]) # - DPDK_MAKE_JOBS (int) @@ -129,6 +129,7 @@ reset_env () unset DPDK_DEP_PCAP unset DPDK_DEP_SSL unset DPDK_DEP_AESNI_MB + unset DPDK_DEP_AESNI_GCM unset DPDK_DEP_SZE unset DPDK_DEP_ZLIB unset AESNI_MULTI_BUFFER_LIB_PATH @@ -184,10 +185,10 @@ config () # sed -ri 's,(PCAP=)n,\1y,' $1/.config test "$DPDK_DEP_AESNI_MB" != y || \ sed -ri 's,(PMD_AESNI_MB=)n,\1y,' $1/.config + test "$DPDK_DEP_AESNI_GCM" != y || \ + sed -ri 's,(PMD_AESNI_GCM=)n,\1y,' $1/.config test -z "$ARMV8_CRYPTO_LIB_PATH" || \ sed -ri 's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config - test -z "$AESNI_MULTI_BUFFER_LIB_PATH" || \ - sed -ri 's,(PMD_AESNI_GCM=)n,\1y,' $1/.config test -z "$LIBSSO_SNOW3G_PATH" || \ sed -ri 's,(PMD_SNOW3G=)n,\1y,' $1/.config test -z "$LIBSSO_KASUMI_PATH" || \ diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/aesni_gcm.rst index ffd6ba9..01590e8 100644 --- a/doc/guides/cryptodevs/aesni_gcm.rst +++ b/doc/guides/cryptodevs/aesni_gcm.rst @@ -36,12 +36,13 @@ Installation To build DPDK with the AESNI_GCM_PMD the user is required to download the multi-buffer library from `here `_ and compile it on their user system before building DPDK. -The latest version of the library supported by this PMD is v0.48, which -can be downloaded in ``_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded in ``_. .. code-block:: console - make + make + make install As a reference, the following table shows a mapping between the past DPDK versions and the external crypto libraries supported by them: @@ -55,7 +56,8 @@ and the external crypto libraries supported by them: ============= ================================ 16.04 - 16.11 Multi-buffer library 0.43 - 0.44 17.02 - 17.05 ISA-L Crypto v2.18 - 17.08+ Multi-buffer library 0.46+ + 17.08 - 18.02 Multi-buffer library 0.46 - 0.48 + 18.05 Multi-buffer library 0.49 ============= ================================ @@ -64,9 +66,6 @@ Initialization In order to enable this virtual crypto PMD, user must: -* Export the environmental variable AESNI_MULTI_BUFFER_LIB_PATH with the path where - the library was extracted. - * Build the multi buffer library (explained in Installation section). * Set CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=y in config/common_base. diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile index d06c544..0a5c1a8 100644 --- a/drivers/crypto/aesni_gcm/Makefile +++ b/drivers/crypto/aesni_gcm/Makefile @@ -3,12 +3,6 @@ include $(RTE_SDK)/mk/rte.vars.mk -ifneq ($(MAKECMDGOALS),clean) -ifeq ($(AESNI_MULTI_BUFFER_LIB_PATH),) -$(error "Please define AESNI_MULTI_BUFFER_LIB_PATH environment variable") -endif -endif - # library name LIB = librte_pmd_aesni_gcm.a @@ -23,9 +17,7 @@ LIBABIVER := 1 EXPORT_MAP := rte_pmd_aesni_gcm_version.map # external library dependencies -CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH) -CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH)/include -LDLIBS += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB +LDLIBS += -lIPSec_MB LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring LDLIBS += -lrte_cryptodev LDLIBS += -lrte_bus_vdev diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_ops.h b/drivers/crypto/aesni_gcm/aesni_gcm_ops.h index 59e504e..4506166 100644 --- a/drivers/crypto/aesni_gcm/aesni_gcm_ops.h +++ b/drivers/crypto/aesni_gcm/aesni_gcm_ops.h @@ -9,8 +9,7 @@ #define LINUX #endif -#include -#include +#include /** Supported vector modes */ enum aesni_gcm_vector_mode { diff --git a/mk/rte.app.mk b/mk/rte.app.mk index b05a9ed..c68ce72 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -200,7 +200,7 @@ ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lIPSec_MB _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += -lrte_pmd_aesni_gcm -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += -lIPSec_MB _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += -lrte_pmd_openssl -lcrypto _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat -lcrypto