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 <[email protected]> --- Documentation/howto/dpdk.rst | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-) diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst index d7f6610..6c2ca2a 100644 --- a/Documentation/howto/dpdk.rst +++ b/Documentation/howto/dpdk.rst @@ -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 ------------------------ -- 1.7.0.7 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
