[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