summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/faq/releases.rst2
-rw-r--r--Documentation/intro/install/afxdp.rst2
-rw-r--r--Documentation/intro/install/dpdk.rst68
-rw-r--r--Documentation/topics/dpdk/phy.rst22
-rw-r--r--Documentation/topics/dpdk/vdev.rst2
-rw-r--r--Documentation/topics/dpdk/vhost-user.rst20
-rw-r--r--Documentation/topics/testing.rst2
-rw-r--r--Documentation/topics/userspace-tso.rst2
8 files changed, 59 insertions, 61 deletions
diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
index 3623e3f40..a52df2205 100644
--- a/Documentation/faq/releases.rst
+++ b/Documentation/faq/releases.rst
@@ -214,7 +214,7 @@ Q: Are all the DPDK releases that OVS versions work with maintained?
The latest information about DPDK stable and LTS releases can be found
at `DPDK stable`_.
-.. _DPDK stable: http://dpdk.org/doc/guides/contributing/stable.html
+.. _DPDK stable: http://doc.dpdk.org/guides-20.11/contributing/stable.html
Q: I get an error like this when I configure Open vSwitch:
diff --git a/Documentation/intro/install/afxdp.rst b/Documentation/intro/install/afxdp.rst
index 3c8f78825..aad0aeebe 100644
--- a/Documentation/intro/install/afxdp.rst
+++ b/Documentation/intro/install/afxdp.rst
@@ -396,7 +396,7 @@ PVP using vhostuser device
--------------------------
First, build OVS with DPDK and AFXDP::
- ./configure --enable-afxdp --with-dpdk=<dpdk path>
+ ./configure --enable-afxdp --with-dpdk=shared|static
make -j4 && make install
Create a vhost-user port from OVS::
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
index fe11571d2..a595417ce 100644
--- a/Documentation/intro/install/dpdk.rst
+++ b/Documentation/intro/install/dpdk.rst
@@ -42,7 +42,7 @@ Build requirements
In addition to the requirements described in :doc:`general`, building Open
vSwitch with DPDK will require the following:
-- DPDK 19.11.2
+- DPDK 20.11
- A `DPDK supported NIC`_
@@ -59,8 +59,10 @@ vSwitch with DPDK will require the following:
Detailed system requirements can be found at `DPDK requirements`_.
-.. _DPDK supported NIC: http://dpdk.org/doc/nics
-.. _DPDK requirements: http://dpdk.org/doc/guides/linux_gsg/sys_reqs.html
+.. _DPDK supported NIC: https://doc.dpdk.org/guides-20.11/nics/index.html
+.. _DPDK requirements: https://doc.dpdk.org/guides-20.11/linux_gsg/sys_reqs.html
+
+.. _dpdk-install:
Installing
----------
@@ -71,38 +73,44 @@ Install DPDK
#. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
$ cd /usr/src/
- $ wget https://fast.dpdk.org/rel/dpdk-19.11.2.tar.xz
- $ tar xf dpdk-19.11.2.tar.xz
- $ export DPDK_DIR=/usr/src/dpdk-stable-19.11.2
+ $ wget https://fast.dpdk.org/rel/dpdk-20.11.tar.xz
+ $ tar xf dpdk-20.11.tar.xz
+ $ export DPDK_DIR=/usr/src/dpdk-20.11
$ cd $DPDK_DIR
-#. (Optional) Configure DPDK as a shared library
+#. Configure and install DPDK using Meson
- DPDK can be built as either a static library or a shared library. By
- default, it is configured for the former. If you wish to use the latter, set
- ``CONFIG_RTE_BUILD_SHARED_LIB=y`` in ``$DPDK_DIR/config/common_base``.
+ Build and install the DPDK library::
- .. note::
+ $ export DPDK_BUILD=$DPDK_DIR/build
+ $ meson build
+ $ ninja -C build
+ $ sudo ninja -C build install
+ $ sudo ldconfig
- Minor performance loss is expected when using OVS with a shared DPDK
- library compared to a static DPDK library.
+ Detailed information can be found at `DPDK documentation`_.
-#. Configure and install DPDK
+#. (Optional) Configure and export the DPDK shared library location
- Build and install the DPDK library::
+ Since DPDK is built both as static and shared library by default, no extra
+ configuration is required for the build.
- $ export DPDK_TARGET=x86_64-native-linuxapp-gcc
- $ export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
- $ make install T=$DPDK_TARGET DESTDIR=install
+ Exporting the path to library is not necessary if the DPDK libraries are
+ system installed. For libraries installed using a prefix, export the path
+ to this library and also update the $PKG_CONFIG_PATH for use
+ before building OVS::
-#. (Optional) Export the DPDK shared library location
+ $ export LD_LIBRARY_PATH=/path/to/installed/DPDK/libraries
+ $ export PKG_CONFIG_PATH=/path/to/installed/".pc" file/for/DPDK
- If DPDK was built as a shared library, export the path to this library for
- use when building OVS::
+ .. note::
- $ export LD_LIBRARY_PATH=$DPDK_DIR/x86_64-native-linuxapp-gcc/lib
+ Minor performance loss is expected when using OVS with a shared DPDK
+ library compared to a static DPDK library.
.. _DPDK sources: http://dpdk.org/rel
+.. _DPDK documentation:
+ https://doc.dpdk.org/guides-20.11/linux_gsg/build_dpdk.html
Install OVS
~~~~~~~~~~~
@@ -121,16 +129,16 @@ has to be configured to build against the DPDK library (``--with-dpdk``).
#. Bootstrap, if required, as described in :ref:`general-bootstrapping`
-#. Configure the package using the ``--with-dpdk`` flag::
+#. Configure the package using the ``--with-dpdk`` flag:
+
+ If OVS must consume DPDK static libraries
+ (also equivalent to ``--with-dpdk=yes`` )::
- $ ./configure --with-dpdk=$DPDK_BUILD
+ $ ./configure --with-dpdk=static
- where ``DPDK_BUILD`` is the path to the built DPDK library. This can be
- skipped if DPDK library is installed in its default location.
+ If OVS must consume DPDK shared libraries::
- If no path is provided to ``--with-dpdk``, but a pkg-config configuration
- for libdpdk is available the include paths will be generated via an
- equivalent ``pkg-config --cflags libdpdk``.
+ $ ./configure --with-dpdk=shared
.. note::
While ``--with-dpdk`` is required, you can pass any other configuration
@@ -703,7 +711,7 @@ Limitations
release notes`_.
.. _DPDK release notes:
- https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html
+ https://doc.dpdk.org/guides-20.11/rel_notes/release_20_11.html
- Upper bound MTU: DPDK device drivers differ in how the L2 frame for a
given MTU value is calculated e.g. i40e driver includes 2 x vlan headers in
diff --git a/Documentation/topics/dpdk/phy.rst b/Documentation/topics/dpdk/phy.rst
index 7ee3eacff..986dbd38e 100644
--- a/Documentation/topics/dpdk/phy.rst
+++ b/Documentation/topics/dpdk/phy.rst
@@ -117,7 +117,7 @@ tool::
For more information, refer to the `DPDK documentation <dpdk-drivers>`__.
-.. _dpdk-drivers: http://dpdk.org/doc/guides/linux_gsg/linux_drivers.html
+.. _dpdk-drivers: https://doc.dpdk.org/guides-20.11/linux_gsg/linux_drivers.html
.. _dpdk-phy-multiqueue:
@@ -218,18 +218,24 @@ If the log is not seen then the port can be detached like so::
Hotplugging with IGB_UIO
~~~~~~~~~~~~~~~~~~~~~~~~
-As of DPDK 19.11, default igb_uio hotplugging behavior changes from
+.. important::
+
+ As of DPDK v20.11 IGB_UIO has been deprecated and is no longer built as
+ part of the default DPDK library. Below is intended for those who wish
+ to use IGB_UIO outside of the standard DPDK build from v20.11 onwards.
+
+As of DPDK v19.11, default igb_uio hotplugging behavior changed from
previous DPDK versions.
-With DPDK 19.11, if no device is bound to igb_uio when OVS is launched then
-the IOVA mode may be set to virtual addressing for DPDK. This is incompatible
-for hotplugging with igb_uio.
+From DPDK v19.11 onwards, if no device is bound to igb_uio when OVS is
+launched then the IOVA mode may be set to virtual addressing for DPDK.
+This is incompatible for hotplugging with igb_uio.
To hotplug a port with igb_uio in this case, DPDK must be configured to use
physical addressing for IOVA mode. For more information regarding IOVA modes
in DPDK please refer to the `DPDK IOVA Mode Detection`__.
-__ https://doc.dpdk.org/guides-19.11/prog_guide/env_abstraction_layer.html#iova-mode-detection
+__ https://doc.dpdk.org/guides-20.11/prog_guide/env_abstraction_layer.html#iova-mode-detection
To configure OVS DPDK to use physical addressing for IOVA::
@@ -261,7 +267,7 @@ Representors are multi devices created on top of one PF.
For more information, refer to the `DPDK documentation`__.
-__ https://doc.dpdk.org/guides-19.11/prog_guide/switch_representation.html
+__ https://doc.dpdk.org/guides-20.11/prog_guide/switch_representation.html
Prior to port representors there was a one-to-one relationship between the PF
and the eth device. With port representors the relationship becomes one PF to
@@ -395,7 +401,7 @@ in the ``options`` column of the ``Interface`` table.
kernel netdevice, and be inherited from it when Open vSwitch is restarted,
even if the options described in this section are unset from Open vSwitch.
-.. _bifurcated-drivers: http://doc.dpdk.org/guides/linux_gsg/linux_drivers.html#bifurcated-driver
+.. _bifurcated-drivers: https://doc.dpdk.org/guides-20.11/linux_gsg/linux_drivers.html#bifurcated-driver
- Configure the VF MAC address::
diff --git a/Documentation/topics/dpdk/vdev.rst b/Documentation/topics/dpdk/vdev.rst
index 1c0df7f4b..7bd48165e 100644
--- a/Documentation/topics/dpdk/vdev.rst
+++ b/Documentation/topics/dpdk/vdev.rst
@@ -63,4 +63,4 @@ run::
More information on the different types of virtual DPDK PMDs can be found in
the `DPDK documentation`__.
-__ http://dpdk.org/doc/guides/nics/overview.html
+__ https://doc.dpdk.org/guides-20.11/nics/overview.html
diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst
index 75d3fc958..bcd51e65c 100644
--- a/Documentation/topics/dpdk/vhost-user.rst
+++ b/Documentation/topics/dpdk/vhost-user.rst
@@ -389,23 +389,7 @@ application in the VM.
To begin, instantiate a guest as described in :ref:`dpdk-vhost-user` or
:ref:`dpdk-vhost-user-client`. Once started, connect to the VM, download the
-DPDK sources to VM and build DPDK::
-
- $ cd /root/dpdk/
- $ wget https://fast.dpdk.org/rel/dpdk-19.11.2.tar.xz
- $ tar xf dpdk-19.11.2.tar.xz
- $ export DPDK_DIR=/root/dpdk/dpdk-stable-19.11.2
- $ export DPDK_TARGET=x86_64-native-linuxapp-gcc
- $ export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
- $ cd $DPDK_DIR
- $ make install T=$DPDK_TARGET DESTDIR=install
-
-Build the test-pmd application::
-
- $ cd app/test-pmd
- $ export RTE_SDK=$DPDK_DIR
- $ export RTE_TARGET=$DPDK_TARGET
- $ make
+DPDK sources to VM and build DPDK as described in :ref:`dpdk-install`.
Setup huge pages and DPDK devices using UIO::
@@ -555,4 +539,4 @@ shown with::
Further information can be found in the
`DPDK documentation
-<https://doc.dpdk.org/guides-19.11/prog_guide/vhost_lib.html>`__
+<https://doc.dpdk.org/guides-20.11/prog_guide/vhost_lib.html>`__
diff --git a/Documentation/topics/testing.rst b/Documentation/topics/testing.rst
index b9fa94dda..951fe9e85 100644
--- a/Documentation/topics/testing.rst
+++ b/Documentation/topics/testing.rst
@@ -353,7 +353,7 @@ All tests are skipped if no hugepages are configured. User must look into the DP
manual to figure out how to `Configure hugepages`_.
The phy test will skip if no compatible physical device is available.
-.. _Configure hugepages: https://doc.dpdk.org/guides-19.11/linux_gsg/sys_reqs.html
+.. _Configure hugepages: https://doc.dpdk.org/guides-20.11/linux_gsg/sys_reqs.html
All the features documented under `Unit Tests`_ are available for the DPDK
datapath testsuite.
diff --git a/Documentation/topics/userspace-tso.rst b/Documentation/topics/userspace-tso.rst
index 14a7c6fb3..bd64e7ed3 100644
--- a/Documentation/topics/userspace-tso.rst
+++ b/Documentation/topics/userspace-tso.rst
@@ -46,7 +46,7 @@ datasheet for compatibility. Secondly, the NIC must have an associated DPDK
Poll Mode Driver (PMD) which supports `TSO`. For a list of features per PMD,
refer to the `DPDK documentation`__.
-__ https://doc.dpdk.org/guides-19.11/nics/overview.html
+__ https://doc.dpdk.org/guides-20.11/nics/overview.html
Enabling TSO
~~~~~~~~~~~~