X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fcryptodevs%2Faesni_mb.rst;h=15388d20ab0acb8ef802f123e2cca137c41b2823;hb=a748d24d797aa8560913735e719a22059a2b9e8c;hp=d9fd41ae512afe2fd994f3063c7ab12bb35e9361;hpb=2977a13657ab9e4e0cbdf37946d2349eaca02a84;p=dpdk.git diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst index d9fd41ae51..15388d20ab 100644 --- a/doc/guides/cryptodevs/aesni_mb.rst +++ b/doc/guides/cryptodevs/aesni_mb.rst @@ -12,6 +12,9 @@ support for utilizing Intel multi buffer library, see the white paper The AES-NI MB PMD has current only been tested on Fedora 21 64-bit with gcc. +The AES-NI MB PMD supports synchronous mode of operation with +``rte_cryptodev_sym_cpu_crypto_process`` function call. + Features -------- @@ -40,19 +43,30 @@ Hash algorithms: * RTE_CRYPTO_HASH_SHA512_HMAC * RTE_CRYPTO_HASH_AES_XCBC_HMAC * RTE_CRYPTO_HASH_AES_CMAC +* RTE_CRYPTO_HASH_AES_GMAC +* RTE_CRYPTO_HASH_SHA1 +* RTE_CRYPTO_HASH_SHA224 +* RTE_CRYPTO_HASH_SHA256 +* RTE_CRYPTO_HASH_SHA384 +* RTE_CRYPTO_HASH_SHA512 AEAD algorithms: * RTE_CRYPTO_AEAD_AES_CCM * RTE_CRYPTO_AEAD_AES_GCM +Protocol offloads: + +* RTE_SECURITY_PROTOCOL_DOCSIS + Limitations ----------- * Chained mbufs are not supported. -* Only in-place is currently supported (destination address is the same as source address). -* RTE_CRYPTO_AEAD_AES_GCM only works properly when the multi-buffer library is - 0.51.0 or newer. +* Out-of-place is not supported for combined Crypto-CRC DOCSIS security + protocol. +* RTE_CRYPTO_CIPHER_DES_DOCSISBPI is not supported for combined Crypto-CRC + DOCSIS security protocol. Installation @@ -61,14 +75,34 @@ Installation To build DPDK with the AESNI_MB_PMD the user is required to download the multi-buffer library from `here `_ and compile it on their user system before building DPDK. -The latest version of the library supported by this PMD is v0.51, which -can be downloaded from ``. +The latest version of the library supported by this PMD is v0.54, which +can be downloaded from ``_. + +.. code-block:: console + + make + make install + +The library requires NASM to be built. Depending on the library version, it might +require a minimum NASM version (e.g. v0.54 requires at least NASM 2.14). + +NASM is packaged for different OS. However, on some OS the version is too old, +so a manual installation is required. In that case, NASM can be downloaded from +`NASM website `_. +Once it is downloaded, extract it and follow these steps: .. code-block:: console + ./configure make make install +.. note:: + + Compilation of the Multi-Buffer library is broken when GCC < 5.0, if library <= v0.53. + If a lower GCC version than 5.0, the workaround proposed by the following link + should be used: ``_. + As a reference, the following table shows a mapping between the past DPDK versions and the Multi-Buffer library version supported by them: @@ -84,7 +118,9 @@ and the Multi-Buffer library version supported by them: 17.05 - 17.08 0.45 - 0.48 17.11 0.47 - 0.48 18.02 0.48 - 18.05+ 0.49+ + 18.05 - 19.02 0.49 - 0.52 + 19.05 - 19.08 0.52 + 19.11+ 0.52 - 0.54 ============== ============================ @@ -125,7 +161,7 @@ Extra notes For AES Counter mode (AES-CTR), the library supports two different sizes for Initialization Vector (IV): -* 12 bytes: used mainly for IPSec, as it requires 12 bytes from the user, which internally +* 12 bytes: used mainly for IPsec, as it requires 12 bytes from the user, which internally are appended the counter block (4 bytes), which is set to 1 for the first block (no padding required from the user)