doc: support IPsec Multi-buffer lib v1.1
[dpdk.git] / doc / guides / cryptodevs / zuc.rst
index 23d618d..c5f0ded 100644 (file)
@@ -4,7 +4,7 @@
 ZUC Crypto Poll Mode Driver
 ===========================
 
-The ZUC PMD (**librte_pmd_zuc**) provides poll mode crypto driver support for
+The ZUC PMD (**librte_crypto_zuc**) provides poll mode crypto driver support for
 utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
 which implements F8 and F9 functions for ZUC EEA3 cipher and EIA3 hash algorithms.
 
@@ -35,8 +35,8 @@ Installation
 To build DPDK with the ZUC_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.53, which
-can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v0.53.zip>`_.
+The latest version of the library supported by this PMD is v1.1, which
+can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v1.1.zip>`_.
 
 After downloading the library, the user needs to unpack and compile it
 on their system before building DPDK:
@@ -46,6 +46,26 @@ on their system before building DPDK:
     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 <https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D>`_.
+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: `<https://github.com/intel/intel-ipsec-mb/issues/40>`_.
+
 As a reference, the following table shows a mapping between the past DPDK versions
 and the external crypto libraries supported by them:
 
@@ -57,9 +77,11 @@ and the external crypto libraries supported by them:
    DPDK version   Crypto library version
    =============  ================================
    16.11 - 19.11  LibSSO ZUC
-   20.02+         Multi-buffer library 0.53
+   20.02 - 21.08  Multi-buffer library 0.53 - 1.1*
+   21.11+         Multi-buffer library 1.0  - 1.1*
    =============  ================================
 
+\* Multi-buffer library 1.0 or newer only works for Meson but not Make build system.
 
 Initialization
 --------------
@@ -68,14 +90,6 @@ In order to enable this virtual crypto PMD, user must:
 
 * Build the multi buffer library (explained in Installation section).
 
-* Build DPDK as follows:
-
-.. code-block:: console
-
-       make config T=x86_64-native-linux-gcc
-       sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_ZUC\)=n,\1=y,' build/.config
-       make
-
 To use the PMD in an application, user must:
 
 * Call rte_vdev_init("crypto_zuc") within the application.
@@ -95,5 +109,5 @@ Example:
 
 .. code-block:: console
 
-    ./l2fwd-crypto -l 1 -n 4 --vdev="crypto_zuc,socket_id=0,max_nb_sessions=128" \
+    ./dpdk-l2fwd-crypto -l 1 -n 4 --vdev="crypto_zuc,socket_id=0,max_nb_sessions=128" \
     -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "zuc-eea3"