crypto/aesni_mb: support IPSec Multi-buffer lib v0.45

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>
This commit is contained in:
Pablo de Lara 2017-03-30 16:04:18 +01:00
parent 0f548b50a1
commit 1cdeb1c512
3 changed files with 30 additions and 14 deletions

View 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
--------------

View 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 {

View 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