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 Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This commit is contained in:
parent
2a1e2da1bb
commit
dad3736481
@ -33,7 +33,6 @@
|
|||||||
default_path=$PATH
|
default_path=$PATH
|
||||||
|
|
||||||
# Load config options:
|
# Load config options:
|
||||||
# - AESNI_MULTI_BUFFER_LIB_PATH
|
|
||||||
# - ARMV8_CRYPTO_LIB_PATH
|
# - ARMV8_CRYPTO_LIB_PATH
|
||||||
# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)
|
# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)
|
||||||
# - DPDK_DEP_ARCHIVE
|
# - DPDK_DEP_ARCHIVE
|
||||||
@ -131,7 +130,6 @@ reset_env ()
|
|||||||
unset DPDK_DEP_IPSEC_MB
|
unset DPDK_DEP_IPSEC_MB
|
||||||
unset DPDK_DEP_SZE
|
unset DPDK_DEP_SZE
|
||||||
unset DPDK_DEP_ZLIB
|
unset DPDK_DEP_ZLIB
|
||||||
unset AESNI_MULTI_BUFFER_LIB_PATH
|
|
||||||
unset ARMV8_CRYPTO_LIB_PATH
|
unset ARMV8_CRYPTO_LIB_PATH
|
||||||
unset FLEXRAN_SDK
|
unset FLEXRAN_SDK
|
||||||
unset LIBMUSDK_PATH
|
unset LIBMUSDK_PATH
|
||||||
@ -186,7 +184,7 @@ config () # <directory> <target> <options>
|
|||||||
sed -ri 's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
|
sed -ri 's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
|
||||||
test "$DPDK_DEP_IPSEC_MB" != y || \
|
test "$DPDK_DEP_IPSEC_MB" != y || \
|
||||||
sed -ri 's,(PMD_AESNI_MB=)n,\1y,' $1/.config
|
sed -ri 's,(PMD_AESNI_MB=)n,\1y,' $1/.config
|
||||||
test -z "$AESNI_MULTI_BUFFER_LIB_PATH" || \
|
test "$DPDK_DEP_IPSEC_MB" != y || \
|
||||||
sed -ri 's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
|
sed -ri 's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
|
||||||
test -z "$LIBSSO_SNOW3G_PATH" || \
|
test -z "$LIBSSO_SNOW3G_PATH" || \
|
||||||
sed -ri 's,(PMD_SNOW3G=)n,\1y,' $1/.config
|
sed -ri 's,(PMD_SNOW3G=)n,\1y,' $1/.config
|
||||||
|
@ -36,12 +36,13 @@ Installation
|
|||||||
To build DPDK with the AESNI_GCM_PMD the user is required to download the multi-buffer
|
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>`_
|
library from `here <https://github.com/01org/intel-ipsec-mb>`_
|
||||||
and compile it on their user system before building DPDK.
|
and compile it on their user system before building DPDK.
|
||||||
The latest version of the library supported by this PMD is v0.48, which
|
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.48.zip>`_.
|
can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.49.zip>`_.
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
make
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
As a reference, the following table shows a mapping between the past DPDK versions
|
As a reference, the following table shows a mapping between the past DPDK versions
|
||||||
and the external crypto libraries supported by them:
|
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
|
16.04 - 16.11 Multi-buffer library 0.43 - 0.44
|
||||||
17.02 - 17.05 ISA-L Crypto v2.18
|
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:
|
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).
|
* Build the multi buffer library (explained in Installation section).
|
||||||
|
|
||||||
* Set CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=y in config/common_base.
|
* Set CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=y in config/common_base.
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
|
|
||||||
include $(RTE_SDK)/mk/rte.vars.mk
|
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
|
# library name
|
||||||
LIB = librte_pmd_aesni_gcm.a
|
LIB = librte_pmd_aesni_gcm.a
|
||||||
|
|
||||||
@ -23,9 +17,7 @@ LIBABIVER := 1
|
|||||||
EXPORT_MAP := rte_pmd_aesni_gcm_version.map
|
EXPORT_MAP := rte_pmd_aesni_gcm_version.map
|
||||||
|
|
||||||
# external library dependencies
|
# external library dependencies
|
||||||
CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH)
|
LDLIBS += -lIPSec_MB
|
||||||
CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH)/include
|
|
||||||
LDLIBS += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB
|
|
||||||
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
|
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
|
||||||
LDLIBS += -lrte_cryptodev
|
LDLIBS += -lrte_cryptodev
|
||||||
LDLIBS += -lrte_bus_vdev
|
LDLIBS += -lrte_bus_vdev
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#define LINUX
|
#define LINUX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <gcm_defines.h>
|
#include <intel-ipsec-mb.h>
|
||||||
#include <aux_funcs.h>
|
|
||||||
|
|
||||||
/** Supported vector modes */
|
/** Supported vector modes */
|
||||||
enum aesni_gcm_vector_mode {
|
enum aesni_gcm_vector_mode {
|
||||||
|
@ -205,7 +205,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) += -lrte_pmd_aesni_mb
|
||||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -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) += -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_OPENSSL) += -lrte_pmd_openssl -lcrypto
|
||||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
|
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
|
||||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat -lcrypto
|
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat -lcrypto
|
||||||
|
Loading…
Reference in New Issue
Block a user