[ovs-dev] [PATCH v2 1/1] dpdk: Update to use DPDK 18.11.
Ilya Maximets
i.maximets at samsung.com
Tue Dec 11 11:46:50 UTC 2018
On 11.12.2018 14:23, Ian Stokes wrote:
> This commit adds support for DPDK v18.11, it includes the following
> changes.
>
> 1. Enable compilation and linkage with dpdk 18.11.0
> The following dpdk commits which were introduced after dpdk 17.11.x
> require OVS updates to accommodate to the dpdk changes.
> - ce17edde ("ethdev: introduce Rx queue offloads API")
> - ab3ce1e0 ("ethdev: remove old offload API")
> - c06ddf96 ("meter: add configuration profile")
> - e58638c3 ("ethdev: fix TPID handling in flow API")
> - cd8c7c7c ("ethdev: replace bus specific struct with generic dev")
> - ac8d22de ("ethdev: flatten RSS configuration in flow API")
>
> 2. Limit configured rss hash functions to only those supported
> by the eth device.
>
> 3. Set default RSS key in struct action_rss_data, required by OVS
> commit- e8a2b5bf ("netdev-dpdk: implement flow offload with rte flow")
> when configured with "other_config:hw-offload=true".
>
> 4. DEV_RX_OFFLOAD_CRC_STRIP has been removed from DPDK 18.11.
> DEV_RX_OFFLOAD_KEEP_CRC can now be used to keep the CRC.
> Use the correct flag and check it is supported.
>
> 5. rte_eth_dev_attach/detach have been removed from DPDK 18.11.
> Replace them with rte_dev_probe/remove.
>
> 6. Update docs and travis to use DPDK18.11.
>
> This commit squashes the following commits present on the dpdk-latest
> branch:
>
> 7f021f902bb3 ("netdev-dpdk: Upgrade to dpdk v18.08")
> 270d9216f1ed ("netdev-dpdk: Set scatter based on capabilities")
> bef2cdc8f412 ("netdev-dpdk: Fix returning the field of malloced struct.")
> 73c1a65167fc ("redhat: change variable used for non-root user support")
> eb485f60ce44 ("dpdk: Update to use DPDK 18.11.")
>
> For credit all authors of the original commits above have been added as
> co-authors for this commmit.
>
> Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
> Co-authored-by: Ophir Munk <ophirmu at mellanox.com>
> Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
> Co-authored-by: Kevin Traynor <ktraynor at redhat.com>
> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
> Co-authored-by: Ilya Maximets <i.maximets at samsung.com>
> Signed-off-by: Timothy Redaelli <tredaelli at redhat.com>
> Co-authored-by: Timothy Redaelli <tredaelli at redhat.com>
> Signed-off-by: Ian Stokes <ian.stokes at intel.com>
> ---
> v1 -> v2
> * Update DPDK validation example to reference 18.11 instead of 18.08 and
> OVS 2.10.0 instead of ovs 2.9.0.
> * Vertically align netdev_dpdk_policer_pkt_handle arguments.
> ---
> .travis/linux-build.sh | 8 +-
> Documentation/intro/install/dpdk.rst | 17 +-
> Documentation/topics/dpdk/ring.rst | 3 +-
> Documentation/topics/dpdk/vhost-user.rst | 8 +-
> NEWS | 1 +
> lib/netdev-dpdk.c | 176 +++++++++++++--------
> .../usr_lib_systemd_system_ovs-vswitchd.service.in | 2 +-
> 7 files changed, 133 insertions(+), 82 deletions(-)
>
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index 1fe5bbfa9..5f4d838a9 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -56,9 +56,9 @@ function install_dpdk()
> cd dpdk-$1
> git checkout tags/v$1
> else
> - wget http://fast.dpdk.org/rel/dpdk-$1.tar.gz
> - tar xzvf dpdk-$1.tar.gz > /dev/null
> - DIR_NAME=$(tar -tf dpdk-$1.tar.gz | head -1 | cut -f1 -d"/")
> + wget https://fast.dpdk.org/rel/dpdk-$1.tar.xz
> + tar xvf dpdk-$1.tar.xz > /dev/null
> + DIR_NAME=$(tar -tf dpdk-$1.tar.xz | head -1 | cut -f1 -d"/")
> if [ $DIR_NAME != "dpdk-$1" ]; then mv $DIR_NAME dpdk-$1; fi
> cd dpdk-$1
> fi
> @@ -83,7 +83,7 @@ fi
>
> if [ "$DPDK" ]; then
> if [ -z "$DPDK_VER" ]; then
> - DPDK_VER="17.11.4"
> + DPDK_VER="18.11"
> fi
> install_dpdk $DPDK_VER
> if [ "$CC" = "clang" ]; then
> diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
> index 13546bb72..cd7ab7577 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 17.11.4
> +- DPDK 18.11
>
> - A `DPDK supported NIC`_
>
> @@ -71,9 +71,9 @@ Install DPDK
> #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
>
> $ cd /usr/src/
> - $ wget http://fast.dpdk.org/rel/dpdk-17.11.4.tar.xz
> - $ tar xf dpdk-17.11.4.tar.xz
> - $ export DPDK_DIR=/usr/src/dpdk-stable-17.11.4
> + $ wget http://fast.dpdk.org/rel/dpdk-18.11.tar.xz
> + $ tar xf dpdk-18.11.tar.xz
> + $ export DPDK_DIR=/usr/src/dpdk-18.11
> $ cd $DPDK_DIR
>
> #. (Optional) Configure DPDK as a shared library
> @@ -282,10 +282,10 @@ Additionally, the library version linked to ovs-vswitchd can be confirmed
> with either the ovs-vswitchd logs, or by running either of the commands::
>
> $ ovs-vswitchd --version
> - ovs-vswitchd (Open vSwitch) 2.9.0
> - DPDK 17.11.0
> + ovs-vswitchd (Open vSwitch) 2.10.0
> + DPDK 18.11.0
> $ ovs-vsctl get Open_vSwitch . dpdk_version
> - "DPDK 17.11.0"
> + "DPDK 18.11.0"
This is still inconsistent because 2.10.0 supports 17.11, not 18.11.
Can we just drop this change ? It's only the example and it's not
required to have most recent versions here.
Best regards, Ilya Maximets.
More information about the dev
mailing list