[dpdk-dev,v1,1/2] crypto/aesni_mb: support IPsec MUlti-buffer lib v0.49
Checks
Commit Message
From: Marko Kovacevic <marko.kovacevic@intel.com>
Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
---
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(-)
Comments
> -----Original Message-----
> From: Kovacevic, Marko
> Sent: Tuesday, March 27, 2018 1:14 PM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Kovacevic,
> Marko <marko.kovacevic@intel.com>
> Subject: [PATCH v1 1/2] crypto/aesni_mb: support IPsec MUlti-buffer lib
> v0.49
>
> From: Marko Kovacevic <marko.kovacevic@intel.com>
>
> Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of De Lara Guarch, Pablo
> Sent: Friday, March 30, 2018 4:16 PM
> To: Kovacevic, Marko <marko.kovacevic@intel.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v1 1/2] crypto/aesni_mb: support IPsec MUlti-
> buffer lib v0.49
>
>
>
> > -----Original Message-----
> > From: Kovacevic, Marko
> > Sent: Tuesday, March 27, 2018 1:14 PM
> > To: dev@dpdk.org
> > Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Kovacevic,
> > Marko <marko.kovacevic@intel.com>
> > Subject: [PATCH v1 1/2] crypto/aesni_mb: support IPsec MUlti-buffer
> > lib
> > v0.49
> >
> > From: Marko Kovacevic <marko.kovacevic@intel.com>
> >
> > Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
>
> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Applied to dpdk-next-crypto.
Thanks,
Pablo
27/03/2018 14:14, Kovacevic, Marko:
> From: Marko Kovacevic <marko.kovacevic@intel.com>
>
> Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
No comment at all?
This new version doesn't work with the env variable.
It is probably worth few words.
> --- a/devtools/test-build.sh
> +++ b/devtools/test-build.sh
> @@ -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.
@@ -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
@@ -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.
@@ -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
@@ -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,
@@ -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 */
@@ -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