diff mbox series

[ovs-dev] dpdk: Use DPDK 20.11.3 release

Message ID 20210921070821.29182-1-suneetha.kalahasthi@intel.com
State Rejected
Headers show
Series [ovs-dev] dpdk: Use DPDK 20.11.3 release | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

Suneetha Kalahasthi Sept. 21, 2021, 7:08 a.m. UTC
Modify ci linux build script to use the latest DPDK stable release 20.11.3.
Modify Documentation to use the latest DPDK stable release 20.11.3.
Update NEWS file to reflect the latest DPDK stable release 20.11.3.
FAQ is updated to reflect the latest DPDK for each OVS branch.

Signed-off-by: Suneetha Kalahasthi <suneetha.kalahasthi@intel.com>
---
 .ci/linux-build.sh                   | 2 +-
 Documentation/faq/releases.rst       | 8 ++++----
 Documentation/intro/install/dpdk.rst | 8 ++++----
 NEWS                                 | 2 ++
 4 files changed, 11 insertions(+), 9 deletions(-)

Comments

Kevin Traynor Sept. 21, 2021, 10:42 a.m. UTC | #1
On 21/09/2021 08:08, Suneetha Kalahasthi wrote:
> Modify ci linux build script to use the latest DPDK stable release 20.11.3.
> Modify Documentation to use the latest DPDK stable release 20.11.3.
> Update NEWS file to reflect the latest DPDK stable release 20.11.3.
> FAQ is updated to reflect the latest DPDK for each OVS branch.
> 

David has reported a crash for virtio_user devices with 20.11.3 [1]. I 
ran a quick test of adding a virtio_user port to OVS and there was no 
crash, but maybe it was not a full test or I was lucky.

Can you check if it is ok to use 20.11.3 with this known issue?

[1] 
http://inbox.dpdk.org/dev/CAJFAV8yjvEvk-YQgwBb=ZAWCrn_P2NDzcugC2W-O+7JzoyDM0Q@mail.gmail.com/

> Signed-off-by: Suneetha Kalahasthi <suneetha.kalahasthi@intel.com>
> ---
>   .ci/linux-build.sh                   | 2 +-
>   Documentation/faq/releases.rst       | 8 ++++----
>   Documentation/intro/install/dpdk.rst | 8 ++++----
>   NEWS                                 | 2 ++
>   4 files changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index 863f02388..5323cb2f2 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -216,7 +216,7 @@ fi
>   
>   if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
>       if [ -z "$DPDK_VER" ]; then
> -        DPDK_VER="20.11.1"
> +        DPDK_VER="20.11.3"
>       fi
>       install_dpdk $DPDK_VER
>       if [ "$CC" = "clang" ]; then
> diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
> index 68c9867b1..4f8d105e6 100644
> --- a/Documentation/faq/releases.rst
> +++ b/Documentation/faq/releases.rst
> @@ -205,10 +205,10 @@ Q: What DPDK version does each Open vSwitch release work with?
>       2.10.x       17.11.10
>       2.11.x       18.11.9
>       2.12.x       18.11.9
> -    2.13.x       19.11.8
> -    2.14.x       19.11.8
> -    2.15.x       20.11.1
> -    2.16.x       20.11.1
> +    2.13.x       19.11.10
> +    2.14.x       19.11.10
> +    2.15.x       20.11.3
> +    2.16.x       20.11.3
>       ============ ========
>   
>   Q: Are all the DPDK releases that OVS versions work with maintained?
> diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
> index 96843af73..83c758783 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 20.11.1
> +- DPDK 20.11.3
>   
>   - A `DPDK supported NIC`_
>   
> @@ -73,9 +73,9 @@ Install DPDK
>   #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
>   
>          $ cd /usr/src/
> -       $ wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
> -       $ tar xf dpdk-20.11.1.tar.xz
> -       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.1
> +       $ wget https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz
> +       $ tar xf dpdk-20.11.3.tar.xz
> +       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.3
>          $ cd $DPDK_DIR
>   
>   #. Configure and install DPDK using Meson
> diff --git a/NEWS b/NEWS
> index 90f4b1590..b92445a32 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -1,6 +1,8 @@
>   Post-v2.16.0
>   ---------------------
>      - DPDK:
> +     * OVS validated with DPDK 20.11.3. It is recommended to use this version
> +       until further releases.
>        * EAL argument --socket-mem is no longer configured by default upon
>          start-up.  If dpdk-socket-mem and dpdk-alloc-mem are not specified,
>          DPDK defaults will be used.
>
Kevin Traynor Sept. 21, 2021, 12:12 p.m. UTC | #2
On 21/09/2021 11:42, Kevin Traynor wrote:
> On 21/09/2021 08:08, Suneetha Kalahasthi wrote:
>> Modify ci linux build script to use the latest DPDK stable release 20.11.3.
>> Modify Documentation to use the latest DPDK stable release 20.11.3.
>> Update NEWS file to reflect the latest DPDK stable release 20.11.3.
>> FAQ is updated to reflect the latest DPDK for each OVS branch.
>>
> 
> David has reported a crash for virtio_user devices with 20.11.3 [1]. I
> ran a quick test of adding a virtio_user port to OVS and there was no
> crash, but maybe it was not a full test or I was lucky.
> 

After talking to David, I reproduced with:
ovs-vsctl add-port br0 virtio_user0 -- set Interface virtio_user0 
type=dpdk 
options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,queues=3

You'd need to check if there are fixes impacting OVS in 20.11.3 that 
make it better to take now and document this known issue. Otherwise, 
probably better to wait until 20.11.4 with the fix for this.

> Can you check if it is ok to use 20.11.3 with this known issue?
> 
> [1]
> http://inbox.dpdk.org/dev/CAJFAV8yjvEvk-YQgwBb=ZAWCrn_P2NDzcugC2W-O+7JzoyDM0Q@mail.gmail.com/
> 
>> Signed-off-by: Suneetha Kalahasthi <suneetha.kalahasthi@intel.com>
>> ---
>>    .ci/linux-build.sh                   | 2 +-
>>    Documentation/faq/releases.rst       | 8 ++++----
>>    Documentation/intro/install/dpdk.rst | 8 ++++----
>>    NEWS                                 | 2 ++
>>    4 files changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
>> index 863f02388..5323cb2f2 100755
>> --- a/.ci/linux-build.sh
>> +++ b/.ci/linux-build.sh
>> @@ -216,7 +216,7 @@ fi
>>    
>>    if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
>>        if [ -z "$DPDK_VER" ]; then
>> -        DPDK_VER="20.11.1"
>> +        DPDK_VER="20.11.3"
>>        fi
>>        install_dpdk $DPDK_VER
>>        if [ "$CC" = "clang" ]; then
>> diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
>> index 68c9867b1..4f8d105e6 100644
>> --- a/Documentation/faq/releases.rst
>> +++ b/Documentation/faq/releases.rst
>> @@ -205,10 +205,10 @@ Q: What DPDK version does each Open vSwitch release work with?
>>        2.10.x       17.11.10
>>        2.11.x       18.11.9
>>        2.12.x       18.11.9
>> -    2.13.x       19.11.8
>> -    2.14.x       19.11.8
>> -    2.15.x       20.11.1
>> -    2.16.x       20.11.1
>> +    2.13.x       19.11.10
>> +    2.14.x       19.11.10
>> +    2.15.x       20.11.3
>> +    2.16.x       20.11.3
>>        ============ ========
>>    
>>    Q: Are all the DPDK releases that OVS versions work with maintained?
>> diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
>> index 96843af73..83c758783 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 20.11.1
>> +- DPDK 20.11.3
>>    
>>    - A `DPDK supported NIC`_
>>    
>> @@ -73,9 +73,9 @@ Install DPDK
>>    #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
>>    
>>           $ cd /usr/src/
>> -       $ wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
>> -       $ tar xf dpdk-20.11.1.tar.xz
>> -       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.1
>> +       $ wget https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz
>> +       $ tar xf dpdk-20.11.3.tar.xz
>> +       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.3
>>           $ cd $DPDK_DIR
>>    
>>    #. Configure and install DPDK using Meson
>> diff --git a/NEWS b/NEWS
>> index 90f4b1590..b92445a32 100644
>> --- a/NEWS
>> +++ b/NEWS
>> @@ -1,6 +1,8 @@
>>    Post-v2.16.0
>>    ---------------------
>>       - DPDK:
>> +     * OVS validated with DPDK 20.11.3. It is recommended to use this version
>> +       until further releases.
>>         * EAL argument --socket-mem is no longer configured by default upon
>>           start-up.  If dpdk-socket-mem and dpdk-alloc-mem are not specified,
>>           DPDK defaults will be used.
>>
>
Suneetha Kalahasthi Sept. 21, 2021, 12:16 p.m. UTC | #3
HI Kevin,

The setup is:
1. Add one virtio_user port to OVS with 3 queues
ovs-vsctl add-port br0 virtio_user0 -- set Interface virtio_user0 type=dpdk
options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,queues=3

2. Inject traffic
3. traffic should eb received at virtio_user port ?

Regards,
Suneetha

-----Original Message-----
From: Kevin Traynor <ktraynor@redhat.com> 
Sent: 21 September 2021 17:43
To: Kalahasthi, Suneetha <suneetha.kalahasthi@intel.com>; dev@openvswitch.org
Cc: David Marchand <david.marchand@redhat.com>
Subject: Re: [ovs-dev] [PATCH] dpdk: Use DPDK 20.11.3 release

On 21/09/2021 11:42, Kevin Traynor wrote:
> On 21/09/2021 08:08, Suneetha Kalahasthi wrote:
>> Modify ci linux build script to use the latest DPDK stable release 20.11.3.
>> Modify Documentation to use the latest DPDK stable release 20.11.3.
>> Update NEWS file to reflect the latest DPDK stable release 20.11.3.
>> FAQ is updated to reflect the latest DPDK for each OVS branch.
>>
> 
> David has reported a crash for virtio_user devices with 20.11.3 [1]. I 
> ran a quick test of adding a virtio_user port to OVS and there was no 
> crash, but maybe it was not a full test or I was lucky.
> 

After talking to David, I reproduced with:
ovs-vsctl add-port br0 virtio_user0 -- set Interface virtio_user0 type=dpdk
options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,queues=3

You'd need to check if there are fixes impacting OVS in 20.11.3 that make it better to take now and document this known issue. Otherwise, probably better to wait until 20.11.4 with the fix for this.

> Can you check if it is ok to use 20.11.3 with this known issue?
> 
> [1]
> http://inbox.dpdk.org/dev/CAJFAV8yjvEvk-YQgwBb=ZAWCrn_P2NDzcugC2W-O+7J
> zoyDM0Q@mail.gmail.com/
> 
>> Signed-off-by: Suneetha Kalahasthi <suneetha.kalahasthi@intel.com>
>> ---
>>    .ci/linux-build.sh                   | 2 +-
>>    Documentation/faq/releases.rst       | 8 ++++----
>>    Documentation/intro/install/dpdk.rst | 8 ++++----
>>    NEWS                                 | 2 ++
>>    4 files changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 
>> 863f02388..5323cb2f2 100755
>> --- a/.ci/linux-build.sh
>> +++ b/.ci/linux-build.sh
>> @@ -216,7 +216,7 @@ fi
>>    
>>    if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
>>        if [ -z "$DPDK_VER" ]; then
>> -        DPDK_VER="20.11.1"
>> +        DPDK_VER="20.11.3"
>>        fi
>>        install_dpdk $DPDK_VER
>>        if [ "$CC" = "clang" ]; then
>> diff --git a/Documentation/faq/releases.rst 
>> b/Documentation/faq/releases.rst index 68c9867b1..4f8d105e6 100644
>> --- a/Documentation/faq/releases.rst
>> +++ b/Documentation/faq/releases.rst
>> @@ -205,10 +205,10 @@ Q: What DPDK version does each Open vSwitch release work with?
>>        2.10.x       17.11.10
>>        2.11.x       18.11.9
>>        2.12.x       18.11.9
>> -    2.13.x       19.11.8
>> -    2.14.x       19.11.8
>> -    2.15.x       20.11.1
>> -    2.16.x       20.11.1
>> +    2.13.x       19.11.10
>> +    2.14.x       19.11.10
>> +    2.15.x       20.11.3
>> +    2.16.x       20.11.3
>>        ============ ========
>>    
>>    Q: Are all the DPDK releases that OVS versions work with maintained?
>> diff --git a/Documentation/intro/install/dpdk.rst 
>> b/Documentation/intro/install/dpdk.rst
>> index 96843af73..83c758783 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 20.11.1
>> +- DPDK 20.11.3
>>    
>>    - A `DPDK supported NIC`_
>>    
>> @@ -73,9 +73,9 @@ Install DPDK
>>    #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
>>    
>>           $ cd /usr/src/
>> -       $ wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
>> -       $ tar xf dpdk-20.11.1.tar.xz
>> -       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.1
>> +       $ wget https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz
>> +       $ tar xf dpdk-20.11.3.tar.xz
>> +       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.3
>>           $ cd $DPDK_DIR
>>    
>>    #. Configure and install DPDK using Meson diff --git a/NEWS b/NEWS 
>> index 90f4b1590..b92445a32 100644
>> --- a/NEWS
>> +++ b/NEWS
>> @@ -1,6 +1,8 @@
>>    Post-v2.16.0
>>    ---------------------
>>       - DPDK:
>> +     * OVS validated with DPDK 20.11.3. It is recommended to use this version
>> +       until further releases.
>>         * EAL argument --socket-mem is no longer configured by default upon
>>           start-up.  If dpdk-socket-mem and dpdk-alloc-mem are not specified,
>>           DPDK defaults will be used.
>>
>
Kevin Traynor Sept. 21, 2021, 12:22 p.m. UTC | #4
On 21/09/2021 13:16, Kalahasthi, Suneetha wrote:
> HI Kevin,
> 
> The setup is:
> 1. Add one virtio_user port to OVS with 3 queues
> ovs-vsctl add-port br0 virtio_user0 -- set Interface virtio_user0 type=dpdk
> options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,queues=3
> 

Just need to add the port in step 1.

Thread 1 "ovs-vswitchd" received signal SIGSEGV, Segmentation fault.
0x0000000000ddf230 in virtio_rx_mem_pool_buf_size ()
(gdb) bt
#0  0x0000000000ddf230 in virtio_rx_mem_pool_buf_size ()
#1  0x0000000000ddf301 in virtio_mtu_set ()
#2  0x000000000107e451 in rte_eth_dev_set_mtu ()
#3  0x00000000012bc7bf in dpdk_eth_dev_port_config (dev=0x1503c8b00, 
n_rxq=1, n_txq=3) at lib/netdev-dpdk.c:1018
#4  0x00000000012bce2e in dpdk_eth_dev_init (dev=0x1503c8b00) at 
lib/netdev-dpdk.c:1146
#5  0x00000000012c6729 in netdev_dpdk_reconfigure (netdev=0x1503c8b80) 
at lib/netdev-dpdk.c:5007
#6  0x00000000011ac55b in netdev_reconfigure (netdev=0x1503c8b80) at 
lib/netdev.c:2288
#7  0x000000000115d315 in port_reconfigure (port=0x3f41b50) at 
lib/dpif-netdev.c:4789
#8  0x000000000115f8de in reconfigure_datapath (dp=0x3f07ac0) at 
lib/dpif-netdev.c:5761
#9  0x0000000001156b92 in do_add_port (dp=0x3f07ac0, devname=0x3f40a00 
"virtio_user0", type=0x155b2e6 "dpdk", port_no=4) at lib/dpif-netdev.c:2057
#10 0x0000000001156d22 in dpif_netdev_port_add (dpif=0x3c53430, 
netdev=0x1503c8b80, port_nop=0x7fffd77158b0) at lib/dpif-netdev.c:2101
#11 0x000000000116de4a in dpif_port_add	(dpif=0x3c53430, 
netdev=0x1503c8b80, port_nop=0x7fffd771590c) at lib/dpif.c:595
#12 0x00000000010f58c5 in port_add (ofproto_=0x3f068b0, 
netdev=0x1503c8b80) at ofproto/ofproto-dpif.c:3920
#13 0x00000000010d9e9c in ofproto_port_add (ofproto=0x3f068b0, 
netdev=0x1503c8b80, ofp_portp=0x7fffd7715a74) at ofproto/ofproto.c:2067
#14 0x00000000010c5ada in iface_do_create (br=0x3f06250, 
iface_cfg=0x3f76b20, ofp_portp=0x7fffd7715a74, netdevp=0x7fffd7715a78, 
errp=0x7fffd7715a68) at vswitchd/bridge.c:2063
#15 0x00000000010c5c6e in iface_create (br=0x3f06250, 
iface_cfg=0x3f76b20, port_cfg=0x3f41850) at vswitchd/bridge.c:2106
#16 0x00000000010c3346 in bridge_add_ports__ (br=0x3f06250, 
wanted_ports=0x3f06330, with_requested_port=false) at vswitchd/bridge.c:1170
#17 0x00000000010c33cd in bridge_add_ports (br=0x3f06250, 
wanted_ports=0x3f06330) at vswitchd/bridge.c:1186
#18 0x00000000010c2908 in bridge_reconfigure (ovs_cfg=0x3c59000) at 
vswitchd/bridge.c:898
#19 0x00000000010c92fe in bridge_run () at vswitchd/bridge.c:3331
#20 0x00000000010cea43 in main (argc=4, argv=0x7fffd7715d48) at 
vswitchd/ovs-vswitchd.c:127


> 2. Inject traffic
> 3. traffic should eb received at virtio_user port ?
> 
> Regards,
> Suneetha
> 
> -----Original Message-----
> From: Kevin Traynor <ktraynor@redhat.com>
> Sent: 21 September 2021 17:43
> To: Kalahasthi, Suneetha <suneetha.kalahasthi@intel.com>; dev@openvswitch.org
> Cc: David Marchand <david.marchand@redhat.com>
> Subject: Re: [ovs-dev] [PATCH] dpdk: Use DPDK 20.11.3 release
> 
> On 21/09/2021 11:42, Kevin Traynor wrote:
>> On 21/09/2021 08:08, Suneetha Kalahasthi wrote:
>>> Modify ci linux build script to use the latest DPDK stable release 20.11.3.
>>> Modify Documentation to use the latest DPDK stable release 20.11.3.
>>> Update NEWS file to reflect the latest DPDK stable release 20.11.3.
>>> FAQ is updated to reflect the latest DPDK for each OVS branch.
>>>
>>
>> David has reported a crash for virtio_user devices with 20.11.3 [1]. I
>> ran a quick test of adding a virtio_user port to OVS and there was no
>> crash, but maybe it was not a full test or I was lucky.
>>
> 
> After talking to David, I reproduced with:
> ovs-vsctl add-port br0 virtio_user0 -- set Interface virtio_user0 type=dpdk
> options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,queues=3
> 
> You'd need to check if there are fixes impacting OVS in 20.11.3 that make it better to take now and document this known issue. Otherwise, probably better to wait until 20.11.4 with the fix for this.
> 
>> Can you check if it is ok to use 20.11.3 with this known issue?
>>
>> [1]
>> http://inbox.dpdk.org/dev/CAJFAV8yjvEvk-YQgwBb=ZAWCrn_P2NDzcugC2W-O+7J
>> zoyDM0Q@mail.gmail.com/
>>
>>> Signed-off-by: Suneetha Kalahasthi <suneetha.kalahasthi@intel.com>
>>> ---
>>>     .ci/linux-build.sh                   | 2 +-
>>>     Documentation/faq/releases.rst       | 8 ++++----
>>>     Documentation/intro/install/dpdk.rst | 8 ++++----
>>>     NEWS                                 | 2 ++
>>>     4 files changed, 11 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
>>> 863f02388..5323cb2f2 100755
>>> --- a/.ci/linux-build.sh
>>> +++ b/.ci/linux-build.sh
>>> @@ -216,7 +216,7 @@ fi
>>>     
>>>     if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
>>>         if [ -z "$DPDK_VER" ]; then
>>> -        DPDK_VER="20.11.1"
>>> +        DPDK_VER="20.11.3"
>>>         fi
>>>         install_dpdk $DPDK_VER
>>>         if [ "$CC" = "clang" ]; then
>>> diff --git a/Documentation/faq/releases.rst
>>> b/Documentation/faq/releases.rst index 68c9867b1..4f8d105e6 100644
>>> --- a/Documentation/faq/releases.rst
>>> +++ b/Documentation/faq/releases.rst
>>> @@ -205,10 +205,10 @@ Q: What DPDK version does each Open vSwitch release work with?
>>>         2.10.x       17.11.10
>>>         2.11.x       18.11.9
>>>         2.12.x       18.11.9
>>> -    2.13.x       19.11.8
>>> -    2.14.x       19.11.8
>>> -    2.15.x       20.11.1
>>> -    2.16.x       20.11.1
>>> +    2.13.x       19.11.10
>>> +    2.14.x       19.11.10
>>> +    2.15.x       20.11.3
>>> +    2.16.x       20.11.3
>>>         ============ ========
>>>     
>>>     Q: Are all the DPDK releases that OVS versions work with maintained?
>>> diff --git a/Documentation/intro/install/dpdk.rst
>>> b/Documentation/intro/install/dpdk.rst
>>> index 96843af73..83c758783 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 20.11.1
>>> +- DPDK 20.11.3
>>>     
>>>     - A `DPDK supported NIC`_
>>>     
>>> @@ -73,9 +73,9 @@ Install DPDK
>>>     #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
>>>     
>>>            $ cd /usr/src/
>>> -       $ wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
>>> -       $ tar xf dpdk-20.11.1.tar.xz
>>> -       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.1
>>> +       $ wget https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz
>>> +       $ tar xf dpdk-20.11.3.tar.xz
>>> +       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.3
>>>            $ cd $DPDK_DIR
>>>     
>>>     #. Configure and install DPDK using Meson diff --git a/NEWS b/NEWS
>>> index 90f4b1590..b92445a32 100644
>>> --- a/NEWS
>>> +++ b/NEWS
>>> @@ -1,6 +1,8 @@
>>>     Post-v2.16.0
>>>     ---------------------
>>>        - DPDK:
>>> +     * OVS validated with DPDK 20.11.3. It is recommended to use this version
>>> +       until further releases.
>>>          * EAL argument --socket-mem is no longer configured by default upon
>>>            start-up.  If dpdk-socket-mem and dpdk-alloc-mem are not specified,
>>>            DPDK defaults will be used.
>>>
>>
>
Suneetha Kalahasthi Sept. 21, 2021, 1:37 p.m. UTC | #5
Hi Kevin,

Thanks for the details.
I will make the setup, test and update the results.

Regards,
Suneetha

-----Original Message-----
From: Kevin Traynor <ktraynor@redhat.com> 
Sent: 21 September 2021 17:52
To: Kalahasthi, Suneetha <suneetha.kalahasthi@intel.com>; dev@openvswitch.org
Cc: David Marchand <david.marchand@redhat.com>
Subject: Re: [ovs-dev] [PATCH] dpdk: Use DPDK 20.11.3 release

On 21/09/2021 13:16, Kalahasthi, Suneetha wrote:
> HI Kevin,
> 
> The setup is:
> 1. Add one virtio_user port to OVS with 3 queues ovs-vsctl add-port 
> br0 virtio_user0 -- set Interface virtio_user0 type=dpdk
> options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,q
> ueues=3
> 

Just need to add the port in step 1.

Thread 1 "ovs-vswitchd" received signal SIGSEGV, Segmentation fault.
0x0000000000ddf230 in virtio_rx_mem_pool_buf_size ()
(gdb) bt
#0  0x0000000000ddf230 in virtio_rx_mem_pool_buf_size ()
#1  0x0000000000ddf301 in virtio_mtu_set ()
#2  0x000000000107e451 in rte_eth_dev_set_mtu ()
#3  0x00000000012bc7bf in dpdk_eth_dev_port_config (dev=0x1503c8b00, n_rxq=1, n_txq=3) at lib/netdev-dpdk.c:1018
#4  0x00000000012bce2e in dpdk_eth_dev_init (dev=0x1503c8b00) at
lib/netdev-dpdk.c:1146
#5  0x00000000012c6729 in netdev_dpdk_reconfigure (netdev=0x1503c8b80) at lib/netdev-dpdk.c:5007
#6  0x00000000011ac55b in netdev_reconfigure (netdev=0x1503c8b80) at
lib/netdev.c:2288
#7  0x000000000115d315 in port_reconfigure (port=0x3f41b50) at
lib/dpif-netdev.c:4789
#8  0x000000000115f8de in reconfigure_datapath (dp=0x3f07ac0) at
lib/dpif-netdev.c:5761
#9  0x0000000001156b92 in do_add_port (dp=0x3f07ac0, devname=0x3f40a00 "virtio_user0", type=0x155b2e6 "dpdk", port_no=4) at lib/dpif-netdev.c:2057
#10 0x0000000001156d22 in dpif_netdev_port_add (dpif=0x3c53430, netdev=0x1503c8b80, port_nop=0x7fffd77158b0) at lib/dpif-netdev.c:2101
#11 0x000000000116de4a in dpif_port_add	(dpif=0x3c53430, 
netdev=0x1503c8b80, port_nop=0x7fffd771590c) at lib/dpif.c:595
#12 0x00000000010f58c5 in port_add (ofproto_=0x3f068b0,
netdev=0x1503c8b80) at ofproto/ofproto-dpif.c:3920
#13 0x00000000010d9e9c in ofproto_port_add (ofproto=0x3f068b0, netdev=0x1503c8b80, ofp_portp=0x7fffd7715a74) at ofproto/ofproto.c:2067
#14 0x00000000010c5ada in iface_do_create (br=0x3f06250, iface_cfg=0x3f76b20, ofp_portp=0x7fffd7715a74, netdevp=0x7fffd7715a78,
errp=0x7fffd7715a68) at vswitchd/bridge.c:2063
#15 0x00000000010c5c6e in iface_create (br=0x3f06250, iface_cfg=0x3f76b20, port_cfg=0x3f41850) at vswitchd/bridge.c:2106
#16 0x00000000010c3346 in bridge_add_ports__ (br=0x3f06250, wanted_ports=0x3f06330, with_requested_port=false) at vswitchd/bridge.c:1170
#17 0x00000000010c33cd in bridge_add_ports (br=0x3f06250,
wanted_ports=0x3f06330) at vswitchd/bridge.c:1186
#18 0x00000000010c2908 in bridge_reconfigure (ovs_cfg=0x3c59000) at
vswitchd/bridge.c:898
#19 0x00000000010c92fe in bridge_run () at vswitchd/bridge.c:3331
#20 0x00000000010cea43 in main (argc=4, argv=0x7fffd7715d48) at
vswitchd/ovs-vswitchd.c:127


> 2. Inject traffic
> 3. traffic should eb received at virtio_user port ?
> 
> Regards,
> Suneetha
> 
> -----Original Message-----
> From: Kevin Traynor <ktraynor@redhat.com>
> Sent: 21 September 2021 17:43
> To: Kalahasthi, Suneetha <suneetha.kalahasthi@intel.com>; 
> dev@openvswitch.org
> Cc: David Marchand <david.marchand@redhat.com>
> Subject: Re: [ovs-dev] [PATCH] dpdk: Use DPDK 20.11.3 release
> 
> On 21/09/2021 11:42, Kevin Traynor wrote:
>> On 21/09/2021 08:08, Suneetha Kalahasthi wrote:
>>> Modify ci linux build script to use the latest DPDK stable release 20.11.3.
>>> Modify Documentation to use the latest DPDK stable release 20.11.3.
>>> Update NEWS file to reflect the latest DPDK stable release 20.11.3.
>>> FAQ is updated to reflect the latest DPDK for each OVS branch.
>>>
>>
>> David has reported a crash for virtio_user devices with 20.11.3 [1]. 
>> I ran a quick test of adding a virtio_user port to OVS and there was 
>> no crash, but maybe it was not a full test or I was lucky.
>>
> 
> After talking to David, I reproduced with:
> ovs-vsctl add-port br0 virtio_user0 -- set Interface virtio_user0 
> type=dpdk
> options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,q
> ueues=3
> 
> You'd need to check if there are fixes impacting OVS in 20.11.3 that make it better to take now and document this known issue. Otherwise, probably better to wait until 20.11.4 with the fix for this.
> 
>> Can you check if it is ok to use 20.11.3 with this known issue?
>>
>> [1]
>> http://inbox.dpdk.org/dev/CAJFAV8yjvEvk-YQgwBb=ZAWCrn_P2NDzcugC2W-O+7
>> J
>> zoyDM0Q@mail.gmail.com/
>>
>>> Signed-off-by: Suneetha Kalahasthi <suneetha.kalahasthi@intel.com>
>>> ---
>>>     .ci/linux-build.sh                   | 2 +-
>>>     Documentation/faq/releases.rst       | 8 ++++----
>>>     Documentation/intro/install/dpdk.rst | 8 ++++----
>>>     NEWS                                 | 2 ++
>>>     4 files changed, 11 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
>>> 863f02388..5323cb2f2 100755
>>> --- a/.ci/linux-build.sh
>>> +++ b/.ci/linux-build.sh
>>> @@ -216,7 +216,7 @@ fi
>>>     
>>>     if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
>>>         if [ -z "$DPDK_VER" ]; then
>>> -        DPDK_VER="20.11.1"
>>> +        DPDK_VER="20.11.3"
>>>         fi
>>>         install_dpdk $DPDK_VER
>>>         if [ "$CC" = "clang" ]; then diff --git 
>>> a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst 
>>> index 68c9867b1..4f8d105e6 100644
>>> --- a/Documentation/faq/releases.rst
>>> +++ b/Documentation/faq/releases.rst
>>> @@ -205,10 +205,10 @@ Q: What DPDK version does each Open vSwitch release work with?
>>>         2.10.x       17.11.10
>>>         2.11.x       18.11.9
>>>         2.12.x       18.11.9
>>> -    2.13.x       19.11.8
>>> -    2.14.x       19.11.8
>>> -    2.15.x       20.11.1
>>> -    2.16.x       20.11.1
>>> +    2.13.x       19.11.10
>>> +    2.14.x       19.11.10
>>> +    2.15.x       20.11.3
>>> +    2.16.x       20.11.3
>>>         ============ ========
>>>     
>>>     Q: Are all the DPDK releases that OVS versions work with maintained?
>>> diff --git a/Documentation/intro/install/dpdk.rst
>>> b/Documentation/intro/install/dpdk.rst
>>> index 96843af73..83c758783 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 20.11.1
>>> +- DPDK 20.11.3
>>>     
>>>     - A `DPDK supported NIC`_
>>>     
>>> @@ -73,9 +73,9 @@ Install DPDK
>>>     #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
>>>     
>>>            $ cd /usr/src/
>>> -       $ wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
>>> -       $ tar xf dpdk-20.11.1.tar.xz
>>> -       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.1
>>> +       $ wget https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz
>>> +       $ tar xf dpdk-20.11.3.tar.xz
>>> +       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.3
>>>            $ cd $DPDK_DIR
>>>     
>>>     #. Configure and install DPDK using Meson diff --git a/NEWS 
>>> b/NEWS index 90f4b1590..b92445a32 100644
>>> --- a/NEWS
>>> +++ b/NEWS
>>> @@ -1,6 +1,8 @@
>>>     Post-v2.16.0
>>>     ---------------------
>>>        - DPDK:
>>> +     * OVS validated with DPDK 20.11.3. It is recommended to use this version
>>> +       until further releases.
>>>          * EAL argument --socket-mem is no longer configured by default upon
>>>            start-up.  If dpdk-socket-mem and dpdk-alloc-mem are not specified,
>>>            DPDK defaults will be used.
>>>
>>
>
Suneetha Kalahasthi Sept. 23, 2021, 8:28 a.m. UTC | #6
Hi Kevin,

<snipped>

> > The setup is:
> > 1. Add one virtio_user port to OVS with 3 queues ovs-vsctl add-port
> > br0 virtio_user0 -- set Interface virtio_user0 type=dpdk 
> > options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net
> > ,q
> > ueues=3
> >
> 
> Just need to add the port in step 1.
> 
> Thread 1 "ovs-vswitchd" received signal SIGSEGV, Segmentation fault.
> 0x0000000000ddf230 in virtio_rx_mem_pool_buf_size ()

<snipped>

Thanks for testing the patch.
I created the setup at my end and yes, we also observe the issue with 20.11.3.
Hence we're going to wait until DPDK 20.11.4 is released and that bug is fixed.

Regards,
Suneetha
diff mbox series

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 863f02388..5323cb2f2 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -216,7 +216,7 @@  fi
 
 if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
     if [ -z "$DPDK_VER" ]; then
-        DPDK_VER="20.11.1"
+        DPDK_VER="20.11.3"
     fi
     install_dpdk $DPDK_VER
     if [ "$CC" = "clang" ]; then
diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
index 68c9867b1..4f8d105e6 100644
--- a/Documentation/faq/releases.rst
+++ b/Documentation/faq/releases.rst
@@ -205,10 +205,10 @@  Q: What DPDK version does each Open vSwitch release work with?
     2.10.x       17.11.10
     2.11.x       18.11.9
     2.12.x       18.11.9
-    2.13.x       19.11.8
-    2.14.x       19.11.8
-    2.15.x       20.11.1
-    2.16.x       20.11.1
+    2.13.x       19.11.10
+    2.14.x       19.11.10
+    2.15.x       20.11.3
+    2.16.x       20.11.3
     ============ ========
 
 Q: Are all the DPDK releases that OVS versions work with maintained?
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
index 96843af73..83c758783 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 20.11.1
+- DPDK 20.11.3
 
 - A `DPDK supported NIC`_
 
@@ -73,9 +73,9 @@  Install DPDK
 #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
 
        $ cd /usr/src/
-       $ wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
-       $ tar xf dpdk-20.11.1.tar.xz
-       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.1
+       $ wget https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz
+       $ tar xf dpdk-20.11.3.tar.xz
+       $ export DPDK_DIR=/usr/src/dpdk-stable-20.11.3
        $ cd $DPDK_DIR
 
 #. Configure and install DPDK using Meson
diff --git a/NEWS b/NEWS
index 90f4b1590..b92445a32 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@ 
 Post-v2.16.0
 ---------------------
    - DPDK:
+     * OVS validated with DPDK 20.11.3. It is recommended to use this version
+       until further releases.
      * EAL argument --socket-mem is no longer configured by default upon
        start-up.  If dpdk-socket-mem and dpdk-alloc-mem are not specified,
        DPDK defaults will be used.