[ovs-dev] [PATCH v2 1/1] netdev-dpdk: Don't use PMD driver if not configured successfully

Eelco Chaudron echaudro at redhat.com
Wed May 23 13:52:38 UTC 2018


On 23/05/18 15:42, Stokes, Ian wrote:
>> When initialization of the DPDK PMD driver fails (dpdk_eth_dev_init()),
>> the reconfigure_datapath() function will remove the port from dp_netdev,
>> and the port is not used.
>>
>> Now when bridge_reconfigure() is called again, no changes to the previous
>> failing netdev configuration are detected and therefore the ports gets
>> added to dp_netdev and used uninitialized. This is causing exceptions...
>>
>> The fix has two parts to it. First in netdev-dpdk.c we remember if the
>> DPDK port was started or not, and when calling
>> netdev_dpdk_reconfigure() we also try re-initialization if the port was
>> not already active. The second part of the change is in dpif-netdev.c
>> where it makes sure netdev_reconfigure() is called if the port needs
>> reconfiguration, as netdev_is_reconf_required() is only true until
>> netdev_reconfigure() is called (even if it fails).
> Thanks for this Eelco. The code LGTM, in terms of back porting I was able to re-produce the error it fixes on master, 2.9 and 2.8 so I'll backport it to them. However port errors seem to be handled correctly for 2.7 and 2.6 in my testing.
>
> Have you seen the same behavior for 2.7 and 2.6 in your testing? We can backport to those also if you have but just wanted to confirm.
I only tested this on 2.8 and 2.9, I did not try any release earlier. If 
you tested 2.6-7 and it handles the port errors correctly, 2.8-9 seems 
enough to me.

> Thanks
> Ian



More information about the dev mailing list