crypto/aesni_mb: support IPSec Multi-buffer lib v0.45
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 30 Mar 2017 15:04:18 +0000 (16:04 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Wed, 5 Apr 2017 22:17:44 +0000 (00:17 +0200)
IPSec Multi-buffer library v0.45 has been released,
which includes, among other features, support for DOCSIS BPI
specification and include AVX512 optimizations.

This new version added const qualifiers to some of the function
prototypes, so the PMD has been updated to include these changes.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
doc/guides/cryptodevs/aesni_mb.rst
drivers/crypto/aesni_mb/aesni_mb_ops.h
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c

index a0d13ca..f4c0b48 100644 (file)
@@ -75,13 +75,29 @@ 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.44, which
-can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.44.zip>`_.
+The latest version of the library supported by this PMD is v0.45, which
+can be downloaded in `<https://github.com/01org/intel-ipsec-mb/archive/v0.45.zip>`_.
 
 .. code-block:: console
 
        make
 
+As a reference, the following table shows a mapping between the past DPDK versions
+and the Multi-Buffer library version supported by them:
+
+.. _table_aesni_mb_versions:
+
+.. table:: DPDK and Multi-Buffer library version compatibility
+
+   =============  ============================
+   DPDK version   Multi-buffer library version
+   =============  ============================
+   2.2 - 16.11    0.43 - 0.44
+   17.02          0.44
+   17.05          0.45
+   =============  ============================
+
+
 Initialization
 --------------
 
index 3307c0b..59c3ee1 100644 (file)
@@ -48,23 +48,23 @@ enum aesni_mb_vector_mode {
        RTE_AESNI_MB_AVX512
 };
 
-typedef void (*md5_one_block_t)(void *data, void *digest);
+typedef void (*md5_one_block_t)(const void *data, void *digest);
 
-typedef void (*sha1_one_block_t)(void *data, void *digest);
-typedef void (*sha224_one_block_t)(void *data, void *digest);
-typedef void (*sha256_one_block_t)(void *data, void *digest);
-typedef void (*sha384_one_block_t)(void *data, void *digest);
-typedef void (*sha512_one_block_t)(void *data, void *digest);
+typedef void (*sha1_one_block_t)(const void *data, void *digest);
+typedef void (*sha224_one_block_t)(const void *data, void *digest);
+typedef void (*sha256_one_block_t)(const void *data, void *digest);
+typedef void (*sha384_one_block_t)(const void *data, void *digest);
+typedef void (*sha512_one_block_t)(const void *data, void *digest);
 
 typedef void (*aes_keyexp_128_t)
-               (void *key, void *enc_exp_keys, void *dec_exp_keys);
+               (const void *key, void *enc_exp_keys, void *dec_exp_keys);
 typedef void (*aes_keyexp_192_t)
-               (void *key, void *enc_exp_keys, void *dec_exp_keys);
+               (const void *key, void *enc_exp_keys, void *dec_exp_keys);
 typedef void (*aes_keyexp_256_t)
-               (void *key, void *enc_exp_keys, void *dec_exp_keys);
+               (const void *key, void *enc_exp_keys, void *dec_exp_keys);
 
 typedef void (*aes_xcbc_expand_key_t)
-               (void *key, void *exp_k1, void *k2, void *k3);
+               (const void *key, void *exp_k1, void *k2, void *k3);
 
 /** Multi-buffer library function pointer table */
 struct aesni_mb_op_fns {
index 096a947..0fab81e 100644 (file)
@@ -40,8 +40,8 @@
 
 #include "rte_aesni_mb_pmd_private.h"
 
-typedef void (*hash_one_block_t)(void *data, void *digest);
-typedef void (*aes_keyexp_t)(void *key, void *enc_exp_keys, void *dec_exp_keys);
+typedef void (*hash_one_block_t)(const void *data, void *digest);
+typedef void (*aes_keyexp_t)(const void *key, void *enc_exp_keys, void *dec_exp_keys);
 
 /**
  * Calculate the authentication pre-computes