@@ -415,6 +415,66 @@ For more information on the EMC refer to :doc:`/intro/install/dpdk` .
.. _dpdk-ovs-in-guest:
+OVS with DPDK crypto devices
+----------------------------
+
+DPDK crypto devices are utilised in OVS with DPDK for userspace vxlanipsec
+tunnels. The crypto device supported is the AESN-NI Multi Buffer Crypto Poll
+Mode Driver. This is a vdev and requires the use of the Intel Multi-Buffer
+Crypto for IPSec library. This is an open source library available for
+download. The current version supported in DPDK 17.05.1 is v0.45. The steps
+for building and enabling this library in DPDK are as follows.
+
+Users are required to install ``nasm`` and ``yasm`` to compile the library.
+These should be installed prior to attempting to build the library.
+
+Download the `v0.45 Intel Multi-Buffer Crypto for IPSec library
+<https://github.com/01org/intel-ipsec-mb/tree/v0.45>`__
+
+Unzip the library::
+
+ $ unzip intel-ipsec-mb-0.45.zip
+
+Modify the library Makefile ``nasm`` variable to point to the nasm executable.
+For example::
+
+ $ NASM ?=/usr/bin/nasm
+
+Build the library::
+
+ $ make
+
+Compilation should create the library ``libIPSec_MB.a``.
+
+Certain crypto operations are CPU instruction dependant. A user can test which
+instructions are available on their system by running the LibTestApp as
+follows::
+
+ $ cd /opt/intel-ipsec-mb-0.45/LibTestApp
+ $ make
+ $ ipsec_MB_testapp
+
+Enable DPDK to compile a PMD for an AESNI backed device by setting
+``CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y`` in ``$DPDK_LOCATION/config/common_base``.
+
+Set an environmental variable to point to the location of
+``intel-ipsec-mb-0.45``. Assuming the library was installed under /opt/ ::
+
+ $ export AESNI_MULTI_BUFFER_LIB_PATH=/opt/intel-ipsec-mb-0.45
+
+Compile DPDK as per usual.
+
+For use of crypto devs in OVS with DPDK the user is required to copy
+``libIPSec_MB.a`` to the same location where the DPDK target libraries OVS
+uses are stored. For example::
+
+ $ cp libIPSec_MB.a $DPDK_LOCATION/x86_64-native-linuxapp-gcc/lib/
+
+Compile OVS with DPDK as per usual.
+
+More information on the cryptodevs and their usage can be found in the `DPDK
+docs <http://dpdk.org/doc/guides-17.05/cryptodevs/index.html>`__.
+
OVS with DPDK Inside VMs
------------------------
This commit adds a section to the DPDK howto document regarding the steps required to enable DPDK and OVS to compile for DPDK cryptodevices. Signed-off-by: Ian Stokes <ian.stokes@intel.com> --- Documentation/howto/dpdk.rst | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-)