Bug 1756018

Summary: OVS-DPDK parameters generation: use an white-list of physical NIC to avoid error messages
Product: Red Hat OpenStack Reporter: Franck Baudin <fbaudin>
Component: openstack-puppet-modulesAssignee: Vijayalakshmi Candappa <vcandapp>
Status: CLOSED EOL QA Contact: Nobody <nobody>
Severity: medium Docs Contact:
Priority: low    
Version: 13.0 (Queens)CC: cfontain, hakhande, vcandapp
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-10 17:30:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Franck Baudin 2019-09-26 15:41:31 UTC
Description of problem:

On a RHOSP13.z7 with OVS-DPDK and SR-IOV on the same compute node, if we restart openvswitch while we have VMs having SR-IOV VFs ports attached, OVS-DPDK tries to bind on the SR-IOV VFS as they are bound to VFIO, here is one example:

[root@computeovsdpdkrt-edge0 ~]# driverctl list-overrides
0000:18:00.0 vfio-pci
0000:3d:00.1 vfio-pci
0000:86:00.1 vfio-pci
0000:86:02.2 vfio-pci ==> this is a VF bound to a VM
0000:86:02.3 vfio-pci ==> this is a VF bound to a VM

When restarting OVS, we get the following error logs:
2019-09-26T14:33:25.588Z|00046|dpdk|ERR|EAL: Cannot open /dev/vfio/87: Device or resource busy
2019-09-26T14:33:25.588Z|00047|dpdk|ERR|EAL: Requested device 0000:86:02.2 cannot be used
2019-09-26T14:33:25.588Z|00048|dpdk|INFO|EAL: PCI device 0000:86:02.3 on NUMA socket 1
2019-09-26T14:33:25.588Z|00049|dpdk|INFO|EAL:   probe driver: 8086:154c net_i40e_vf


Version-Release number of selected component (if applicable): RHOSP13.z7, but present since RHOSP10.


How reproducible: 100%


Steps to Reproduce: above

How to properly configure OVS-DPDK: we need to add explicitly in OVSDB all interfaces via a whitelist of interfaces to bind to. In my case:

ovs-vsctl set Open_vSwitch . other_config:dpdk-extra="-w 0000:18:00.0 -w 0000:3d:00.1 -w 0000:86:00.1"

Once applied, no more error message!

Comment 2 Lon Hohberger 2023-07-10 17:30:39 UTC
OSP13 support officially ended on 27 June 2023