crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
PATCH 1/2 crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
From: Marko Kovacevic <[email protected]>
--- devtools/test-build.sh | 2 -- doc/guides/cryptodevs/aesni_mb.rst | 13 ++++++------- drivers/crypto/aesni_mb/Makefile | 10 +--------- drivers/crypto/aesni_mb/aesni_mb_ops.h | 3 +-- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 12 ++++++------ mk/rte.app.mk | 2 +- 6 files changed, 15 insertions(+), 27 deletions(-)
devtools/test-build.sh +0 -2
@@ -183,8 +183,6 @@ config () # <directory> <target> <options> 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_MB=)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
doc/guides/cryptodevs/aesni_mb.rst +6 -7
@@ -56,12 +56,13 @@ Installation To build DPDK with the AESNI_MB_PMD the user is required to download the multi-buffer library from `here <https://github.com/01org/intel-ipsec-mb>`_ 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 from `<https://github.com/01org/intel-ipsec-mb/archive/v0.48.zip>`_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_. .. code-block:: console - make + make + make install As a reference, the following table shows a mapping between the past DPDK versions and the Multi-Buffer library version supported by them:
@@ -77,7 +78,8 @@ and the Multi-Buffer library version supported by them: 17.02 0.44 17.05 - 17.08 0.45 - 0.48 17.11 0.47 - 0.48 - 18.02+ 0.48 + 18.02 0.48 + 18.05 0.49 ============== ============================
@@ -86,9 +88,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_MB=y in config/common_base.
drivers/crypto/aesni_mb/Makefile +1 -9
@@ -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_mb.a
@@ -23,9 +17,7 @@ LIBABIVER := 1 EXPORT_MAP := rte_pmd_aesni_mb_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
drivers/crypto/aesni_mb/aesni_mb_ops.h +1 -2
@@ -9,8 +9,7 @@#define LINUX #endif -#include <mb_mgr.h> -#include <aux_funcs.h> +#include <intel-ipsec-mb.h> enum aesni_mb_vector_mode {RTE_AESNI_MB_NOT_SUPPORTED =0 ,
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +6 -6
@@ -2,7 +2,7 @@* Copyright(c) 2015-2017 Intel Corporation */ -#include <des.h> +#include <intel-ipsec-mb.h> #include <rte_common.h> #include <rte_hexdump.h>
@@ -517,15 +517,15 @@ set_mb_job_params(JOB_AES_HMAC *job, struct aesni_mb_qp *qp,/* Set authentication parameters */ job->hash_alg = session->auth.algo;if (job->hash_alg ==AES_XCBC ) { - job->_k1_expanded = session->auth.xcbc.k1_expanded; - job->_k2 = session->auth.xcbc.k2; - job->_k3 = session->auth.xcbc.k3; + job->u.XCBC._k1_expanded = session->auth.xcbc.k1_expanded; + job->u.XCBC._k2 = session->auth.xcbc.k2; + job->u.XCBC._k3 = session->auth.xcbc.k3; }else if (job->hash_alg ==AES_CCM ) { job->u.CCM.aad = op->sym->aead.aad.data +18 ; job->u.CCM.aad_len_in_bytes = session->aead.aad_len; }else { - job->hashed_auth_key_xor_ipad = session->auth.pads.inner; - job->hashed_auth_key_xor_opad = session->auth.pads.outer; + job->u.HMAC._hashed_auth_key_xor_ipad = session->auth.pads.inner; + job->u.HMAC._hashed_auth_key_xor_opad = session->auth.pads.outer; }/* Mutable crypto operation parameters */
mk/rte.app.mk +1 -1
@@ -198,7 +198,7 @@ endif # CONFIG_RTE_LIBRTE_BBDEV ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_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_OPENSSL) += -lrte_pmd_openssl -lcrypto
Signature · 1 line
2.9.5
PATCH 2/2 crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
--- devtools/test-build.sh | 3 --- 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, 9 insertions(+), 22 deletions(-)
devtools/test-build.sh +0 -3
@@ -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
@@ -182,8 +181,6 @@ config () # <directory> <target> <options> sed -ri 's,(PCAP=)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" || \
doc/guides/cryptodevs/aesni_gcm.rst +6 -7
@@ -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 <https://github.com/01org/intel-ipsec-mb>`_ 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 `<https://github.com/01org/intel-ipsec-mb/archive/v0.48.zip>`_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_. .. 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.
drivers/crypto/aesni_gcm/Makefile +1 -9
@@ -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
drivers/crypto/aesni_gcm/aesni_gcm_ops.h +1 -2
@@ -9,8 +9,7 @@#define LINUX #endif -#include <gcm_defines.h> -#include <aux_funcs.h> +#include <intel-ipsec-mb.h> /** Supported vector modes */ enum aesni_gcm_vector_mode {
mk/rte.app.mk +1 -1
@@ -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
Signature · 1 line
2.9.5
Re: [PATCH v1 2/2] crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
Quoted 11 lines
-----Original Message-----
From: Kovacevic, Marko
Sent: Tuesday, March 27, 2018 1:15 PM
To: [email protected]
Cc: De Lara Guarch, Pablo <[email protected]>; Kovacevic, Marko <[email protected]>
Subject: [PATCH v1 2/2]crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49Signed-off-by Marko Kovacevic <[email protected]>
De Lara Guarch, Pablo
AppliedRe: [PATCH v1 2/2] crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
Quoted 20 lines
-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of De Lara Guarch, Pablo
Sent: Friday, March 30, 2018 4:16 PM
To: Kovacevic, Marko <[email protected]>; [email protected]
Subject: Re: [dpdk-dev] [PATCH v1 2/2]crypto/aesni_gcm: support IPsec Multi- buffer lib v0.49Quoted 9 lines
-----Original Message-----
From: Kovacevic, Marko
Sent: Tuesday, March 27, 2018 1:15 PM
To: [email protected]
Cc: De Lara Guarch, Pablo <[email protected]>; Kovacevic, Marko <[email protected]>
Subject: [PATCH v1 2/2]crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
Quoted 3 lines
Quoted 1 line
Signed-off-by Marko Kovacevic <[email protected]>Acked-by Pablo de Lara <[email protected]>
Applied to dpdk-next-crypto.
Thanks,
Pablo
Quoted 11 lines
-----Original Message-----
From: Kovacevic, Marko
Sent: Tuesday, March 27, 2018 1:14 PM
To: [email protected]
Cc: De Lara Guarch, Pablo <[email protected]>; Kovacevic, Marko <[email protected]>
Subject: [PATCH v1 1/2]crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
Quoted 3 lines
From: Marko Kovacevic <[email protected]>
Signed-off-by Marko Kovacevic <[email protected]>
De Lara Guarch, Pablo
AppliedQuoted 21 lines
-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of De Lara Guarch, Pablo
Sent: Friday, March 30, 2018 4:16 PM
To: Kovacevic, Marko <[email protected]>; [email protected]
Subject: Re: [dpdk-dev] [PATCH v1 1/2]crypto/aesni_mb: support IPsec MUlti- buffer lib v0.49Quoted 10 lines
-----Original Message-----
From: Kovacevic, Marko
Sent: Tuesday, March 27, 2018 1:14 PM
To: [email protected]
Cc: De Lara Guarch, Pablo <[email protected]>; Kovacevic, Marko <[email protected]>
Subject: [PATCH v1 1/2]crypto/aesni_mb: support IPsec MUlti-buffer lib
v0.49
Quoted 5 lines
Quoted 3 lines
From: Marko Kovacevic <[email protected]>
Signed-off-by Marko Kovacevic <[email protected]>Acked-by Pablo de Lara <[email protected]>
Applied to dpdk-next-crypto.
Thanks,
Pablo
27/03/2018 14:14, Kovacevic, Marko:
Quoted 3 lines
From: Marko Kovacevic <[email protected]>
Signed-off-by Marko Kovacevic <[email protected]>
No comment at all?
This new version doesn't work with the env variable. It is probably worth few words.
devtools/test-build.sh config () # <directory> <target> <options> · line 186
Quoted 9 lines
devtools/test-build.sh +0
-2@@ -183,8 +183,6 @@ config () # <directory> <target> <options> 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_MB=)n,\1y,' $1/.config - test -z "$AESNI_MULTI_BUFFER_LIB_PATH" || \ sed -ri 's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
The purpose of test-build.sh is to test the build :)
So you need to provide a way to enable this PMD if the dependency is available. Look at DPDK_DEP_SSL as an example.
PATCH v2 1/2 crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
In reply to Kovacevic, MarkoFrom: Marko Kovacevic <[email protected]>
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
---
V2: Added commit message
--- devtools/test-build.sh | 6 ++++-- doc/guides/cryptodevs/aesni_mb.rst | 13 ++++++------- drivers/crypto/aesni_mb/Makefile | 10 +--------- drivers/crypto/aesni_mb/aesni_mb_ops.h | 3 +-- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 12 ++++++------ mk/rte.app.mk | 2 +- 6 files changed, 19 insertions(+), 27 deletions(-)
devtools/test-build.sh +4 -2
@@ -43,6 +43,7 @@ default_path=$PATH # - DPDK_DEP_NUMA ([y]/n) # - DPDK_DEP_PCAP (y/[n]) # - DPDK_DEP_SSL (y/[n]) +# - DPDK_DEP_AESNI_MB (y/[n]) # - DPDK_DEP_SZE (y/[n]) # - DPDK_DEP_ZLIB (y/[n]) # - DPDK_MAKE_JOBS (int)
@@ -127,6 +128,7 @@ reset_env () unset DPDK_DEP_NUMA unset DPDK_DEP_PCAP unset DPDK_DEP_SSL + unset DPDK_DEP_AESNI_MB unset DPDK_DEP_SZE unset DPDK_DEP_ZLIB unset AESNI_MULTI_BUFFER_LIB_PATH
@@ -180,11 +182,11 @@ config () # <directory> <target> <options> sed -ri 's,(NFP_PMD=)n,\1y,' $1/.config test "$DPDK_DEP_PCAP" != y || \ 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 -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_MB=)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
doc/guides/cryptodevs/aesni_mb.rst +6 -7
@@ -56,12 +56,13 @@ Installation To build DPDK with the AESNI_MB_PMD the user is required to download the multi-buffer library from `here <https://github.com/01org/intel-ipsec-mb>`_ 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 from `<https://github.com/01org/intel-ipsec-mb/archive/v0.48.zip>`_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_. .. code-block:: console - make + make + make install As a reference, the following table shows a mapping between the past DPDK versions and the Multi-Buffer library version supported by them:
@@ -77,7 +78,8 @@ and the Multi-Buffer library version supported by them: 17.02 0.44 17.05 - 17.08 0.45 - 0.48 17.11 0.47 - 0.48 - 18.02+ 0.48 + 18.02 0.48 + 18.05 0.49 ============== ============================
@@ -86,9 +88,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_MB=y in config/common_base.
drivers/crypto/aesni_mb/Makefile +1 -9
@@ -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_mb.a
@@ -23,9 +17,7 @@ LIBABIVER := 1 EXPORT_MAP := rte_pmd_aesni_mb_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
drivers/crypto/aesni_mb/aesni_mb_ops.h +1 -2
@@ -9,8 +9,7 @@#define LINUX #endif -#include <mb_mgr.h> -#include <aux_funcs.h> +#include <intel-ipsec-mb.h> enum aesni_mb_vector_mode {RTE_AESNI_MB_NOT_SUPPORTED =0 ,
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +6 -6
@@ -2,7 +2,7 @@* Copyright(c) 2015-2017 Intel Corporation */ -#include <des.h> +#include <intel-ipsec-mb.h> #include <rte_common.h> #include <rte_hexdump.h>
@@ -517,15 +517,15 @@ set_mb_job_params(JOB_AES_HMAC *job, struct aesni_mb_qp *qp,/* Set authentication parameters */ job->hash_alg = session->auth.algo;if (job->hash_alg ==AES_XCBC ) { - job->_k1_expanded = session->auth.xcbc.k1_expanded; - job->_k2 = session->auth.xcbc.k2; - job->_k3 = session->auth.xcbc.k3; + job->u.XCBC._k1_expanded = session->auth.xcbc.k1_expanded; + job->u.XCBC._k2 = session->auth.xcbc.k2; + job->u.XCBC._k3 = session->auth.xcbc.k3; }else if (job->hash_alg ==AES_CCM ) { job->u.CCM.aad = op->sym->aead.aad.data +18 ; job->u.CCM.aad_len_in_bytes = session->aead.aad_len; }else { - job->hashed_auth_key_xor_ipad = session->auth.pads.inner; - job->hashed_auth_key_xor_opad = session->auth.pads.outer; + job->u.HMAC._hashed_auth_key_xor_ipad = session->auth.pads.inner; + job->u.HMAC._hashed_auth_key_xor_opad = session->auth.pads.outer; }/* Mutable crypto operation parameters */
mk/rte.app.mk +1 -1
@@ -198,7 +198,7 @@ endif # CONFIG_RTE_LIBRTE_BBDEV ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_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_OPENSSL) += -lrte_pmd_openssl -lcrypto
Signature · 1 line
2.9.5
PATCH v2 2/2 crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
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
---
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(-)
devtools/test-build.sh +4 -3
@@ -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 () # <directory> <target> <options> 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" || \
doc/guides/cryptodevs/aesni_gcm.rst +6 -7
@@ -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 <https://github.com/01org/intel-ipsec-mb>`_ 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 `<https://github.com/01org/intel-ipsec-mb/archive/v0.48.zip>`_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_. .. 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.
drivers/crypto/aesni_gcm/Makefile +1 -9
@@ -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
drivers/crypto/aesni_gcm/aesni_gcm_ops.h +1 -2
@@ -9,8 +9,7 @@#define LINUX #endif -#include <gcm_defines.h> -#include <aux_funcs.h> +#include <intel-ipsec-mb.h> /** Supported vector modes */ enum aesni_gcm_vector_mode {
mk/rte.app.mk +1 -1
@@ -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
Signature · 1 line
2.9.5
PATCH v3 1/2 crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
In reply to Kovacevic, MarkoFrom: Marko Kovacevic <[email protected]>
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
---
V2: added commit message
V3: changed variable name to something more practical
--- devtools/test-build.sh | 6 ++++-- doc/guides/cryptodevs/aesni_mb.rst | 13 ++++++------- drivers/crypto/aesni_mb/Makefile | 10 +--------- drivers/crypto/aesni_mb/aesni_mb_ops.h | 3 +-- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 12 ++++++------ mk/rte.app.mk | 2 +- 6 files changed, 19 insertions(+), 27 deletions(-)
devtools/test-build.sh +4 -2
@@ -43,6 +43,7 @@ default_path=$PATH # - DPDK_DEP_NUMA ([y]/n) # - DPDK_DEP_PCAP (y/[n]) # - DPDK_DEP_SSL (y/[n]) +# - DPDK_DEP_IPSEC_MB (y/[n]) # - DPDK_DEP_SZE (y/[n]) # - DPDK_DEP_ZLIB (y/[n]) # - DPDK_MAKE_JOBS (int)
@@ -127,6 +128,7 @@ reset_env () unset DPDK_DEP_NUMA unset DPDK_DEP_PCAP unset DPDK_DEP_SSL + unset DPDK_DEP_IPSEC_MB unset DPDK_DEP_SZE unset DPDK_DEP_ZLIB unset AESNI_MULTI_BUFFER_LIB_PATH
@@ -180,11 +182,11 @@ config () # <directory> <target> <options> sed -ri 's,(NFP_PMD=)n,\1y,' $1/.config test "$DPDK_DEP_PCAP" != y || \ sed -ri 's,(PCAP=)n,\1y,' $1/.config + test "$DPDK_DEP_IPSEC_MB" != y || \ + sed -ri 's,(PMD_AESNI_MB=)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_MB=)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
doc/guides/cryptodevs/aesni_mb.rst +6 -7
@@ -56,12 +56,13 @@ Installation To build DPDK with the AESNI_MB_PMD the user is required to download the multi-buffer library from `here <https://github.com/01org/intel-ipsec-mb>`_ 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 from `<https://github.com/01org/intel-ipsec-mb/archive/v0.48.zip>`_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_. .. code-block:: console - make + make + make install As a reference, the following table shows a mapping between the past DPDK versions and the Multi-Buffer library version supported by them:
@@ -77,7 +78,8 @@ and the Multi-Buffer library version supported by them: 17.02 0.44 17.05 - 17.08 0.45 - 0.48 17.11 0.47 - 0.48 - 18.02+ 0.48 + 18.02 0.48 + 18.05 0.49 ============== ============================
@@ -86,9 +88,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_MB=y in config/common_base.
drivers/crypto/aesni_mb/Makefile +1 -9
@@ -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_mb.a
@@ -23,9 +17,7 @@ LIBABIVER := 1 EXPORT_MAP := rte_pmd_aesni_mb_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
drivers/crypto/aesni_mb/aesni_mb_ops.h +1 -2
@@ -9,8 +9,7 @@#define LINUX #endif -#include <mb_mgr.h> -#include <aux_funcs.h> +#include <intel-ipsec-mb.h> enum aesni_mb_vector_mode {RTE_AESNI_MB_NOT_SUPPORTED =0 ,
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +6 -6
@@ -2,7 +2,7 @@* Copyright(c) 2015-2017 Intel Corporation */ -#include <des.h> +#include <intel-ipsec-mb.h> #include <rte_common.h> #include <rte_hexdump.h>
@@ -517,15 +517,15 @@ set_mb_job_params(JOB_AES_HMAC *job, struct aesni_mb_qp *qp,/* Set authentication parameters */ job->hash_alg = session->auth.algo;if (job->hash_alg ==AES_XCBC ) { - job->_k1_expanded = session->auth.xcbc.k1_expanded; - job->_k2 = session->auth.xcbc.k2; - job->_k3 = session->auth.xcbc.k3; + job->u.XCBC._k1_expanded = session->auth.xcbc.k1_expanded; + job->u.XCBC._k2 = session->auth.xcbc.k2; + job->u.XCBC._k3 = session->auth.xcbc.k3; }else if (job->hash_alg ==AES_CCM ) { job->u.CCM.aad = op->sym->aead.aad.data +18 ; job->u.CCM.aad_len_in_bytes = session->aead.aad_len; }else { - job->hashed_auth_key_xor_ipad = session->auth.pads.inner; - job->hashed_auth_key_xor_opad = session->auth.pads.outer; + job->u.HMAC._hashed_auth_key_xor_ipad = session->auth.pads.inner; + job->u.HMAC._hashed_auth_key_xor_opad = session->auth.pads.outer; }/* Mutable crypto operation parameters */
mk/rte.app.mk +1 -1
@@ -198,7 +198,7 @@ endif # CONFIG_RTE_LIBRTE_BBDEV ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_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_OPENSSL) += -lrte_pmd_openssl -lcrypto
Signature · 1 line
2.9.5
PATCH v3 2/2 crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
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
---
V2: added commit message
V3: changed variable name to what the first patch
made
--- devtools/test-build.sh | 5 ++--- 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, 11 insertions(+), 22 deletions(-)
devtools/test-build.sh +2 -3
@@ -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
@@ -184,10 +183,10 @@ config () # <directory> <target> <options> sed -ri 's,(PCAP=)n,\1y,' $1/.config test "$DPDK_DEP_IPSEC_MB" != y || \ sed -ri 's,(PMD_AESNI_MB=)n,\1y,' $1/.config + test "$DPDK_DEP_IPSEC_MB" != 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" || \
doc/guides/cryptodevs/aesni_gcm.rst +6 -7
@@ -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 <https://github.com/01org/intel-ipsec-mb>`_ 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 `<https://github.com/01org/intel-ipsec-mb/archive/v0.48.zip>`_. +The latest version of the library supported by this PMD is v0.49, which +can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_. .. 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.
drivers/crypto/aesni_gcm/Makefile +1 -9
@@ -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
drivers/crypto/aesni_gcm/aesni_gcm_ops.h +1 -2
@@ -9,8 +9,7 @@#define LINUX #endif -#include <gcm_defines.h> -#include <aux_funcs.h> +#include <intel-ipsec-mb.h> /** Supported vector modes */ enum aesni_gcm_vector_mode {
mk/rte.app.mk +1 -1
@@ -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
Signature · 1 line
2.9.5
Re: [PATCH v3 2/2] crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
Quoted 10 lines
-----Original Message-----
From: Kovacevic, Marko
Sent: Tuesday, April 3, 2018 4:22 PM
To: [email protected]
Cc: De Lara Guarch, Pablo <[email protected]>; Kovacevic, Marko <[email protected]>
Subject: [PATCH v3 2/2]crypto/aesni_gcm: support IPsec Multi-buffer lib v0.49
Quoted 5 lines
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 theAESNI_MULTI_BUFFER_LIB_PATHSigned-off-by Marko Kovacevic <[email protected]>
Applied and merged into existing commit in dpdk-next-crypto.
Quoted 10 lines
-----Original Message-----
From: Kovacevic, Marko
Sent: Tuesday, April 3, 2018 4:22 PM
To: [email protected]
Cc: De Lara Guarch, Pablo <[email protected]>; Kovacevic, Marko <[email protected]>
Subject: [PATCH v3 1/2]crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
Quoted 5 lines
From: Marko Kovacevic <[email protected]>
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 theAESNI_MULTI_BUFFER_LIB_PATH
Applied and merged into existing patch in dpdk-next-crypto.