[ovs-dev] [PATCH v2 1/1] dpdk: Update to use DPDK 18.11.

Ian Stokes ian.stokes at intel.com
Tue Dec 11 12:27:47 UTC 2018


On 12/11/2018 11:50 AM, Kevin Traynor wrote:
> On 12/11/2018 11:46 AM, Ilya Maximets wrote:
>> 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>
> 
> I think perhaps it should also be 'From: Ophir Munk' ? as the majority
> of the changes are from his 18.08 patches.
> 
>>> 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.
>>
> 
> +1, was just about to make same comment. Having an incorrect pairing
> could confuse.

Thanks for the feedback, I've made these changes in the v3

https://mail.openvswitch.org/pipermail/ovs-dev/2018-December/354410.html

Ian




More information about the dev mailing list