dpdk: cryptodev support enabled by default
[vpp.git] / src / plugins / dpdk / ipsec / dpdk_crypto_ipsec_doc.md
index fed2fe0..5a9f9c6 100644 (file)
@@ -23,15 +23,7 @@ Set new default next nodes:
 
 ### How to enable VPP IPSec with DPDK Cryptodev support
 
-DPDK Cryptodev is supported in DPDK enabled VPP.
-By default, only HW Cryptodev is supported but needs to be explicetly enabled with the following config option:
-
-```
-dpdk {
-    enable-cryptodev
-}
-```
-
+DPDK Cryptodev is supported in DPDK enabled VPP and by default only HW Cryptodev is supported.
 To enable SW Cryptodev support (AESNI-MB-PMD and GCM-PMD), we need the following env option:
 
     vpp_uses_dpdk_cryptodev_sw=yes
@@ -40,22 +32,22 @@ A couple of ways to achive this:
 * uncomment/add it in the platforms config (ie. build-data/platforms/vpp.mk)
 * set the option when building vpp (ie. make vpp_uses_dpdk_cryptodev_sw=yes build-release)
 
-When enabling SW Cryptodev support, it means that you need to pre-build the required crypto libraries needed by those SW Cryptodev PMDs.
+When enabling SW Cryptodev support, it means that you need to pre-build the required crypto libraries needed by those SW Cryptodev PMDs. This requires nasm, see nasm section below.
 
 
 ### Crypto Resources allocation
 
 VPP allocates crypto resources based on a best effort approach:
 * first allocate Hardware crypto resources, then Software.
-* if there are not enough crypto resources for all workers, the graph node is not modifed, therefore the default VPP IPsec implementation based in OpenSSL is used. The following message is displayed:
+* if there are not enough crypto resources for all workers, the graph node is not modifed and the default VPP IPsec implementation based in OpenSSL is used. The following message is displayed:
 
-      0: dpdk_ipsec_init: not enough cryptodevs for ipsec
+      0: dpdk_ipsec_init: not enough Cryptodevs, default to OpenSSL IPsec
 
 
 ### Configuration example
 
-To enable DPDK Cryptodev the user just need to provide the startup.conf option
-as mentioned previously.
+To enable DPDK Cryptodev the user just need to provide cryptodevs int the
+startup.conf.
 
 Example startup.conf:
 
@@ -84,3 +76,22 @@ For further details refer to [DPDK Crypto Device Driver documentation](http://dp
 The following CLI command displays the Cryptodev/Worker mapping:
 
     show crypto device mapping [verbose]
+
+
+### nasm
+
+Building the DPDK Crypto Libraries requires the open source project nasm (The Netwide
+Assembler) to be installed. Recommended version of nasm is 2.12.02. Minimum supported
+version of nasm is 2.11.06. Use the following command to determine the current nasm version:
+
+    nasm -v
+
+CentOS 7.3 and earlier and Fedora 21 and earlier use unsupported versions
+of nasm. Use the following set of commands to build a supported version:
+
+    wget http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/nasm-2.12.02.tar.bz2
+    tar -xjvf nasm-2.12.02.tar.bz2
+    cd nasm-2.12.02/
+    ./configure
+    make
+    sudo make install