[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