Bug 1330118
| Summary: | DPDK: Unable to bind SR-IOV NIC inside VM using uio_pci_generic and vfio-pci | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Michael Vittrup Larsen <michael.larsen> |
| Component: | documentation | Assignee: | RHOS Documentation Team <rhos-docs> |
| Status: | CLOSED DUPLICATE | QA Contact: | RHOS Documentation Team <rhos-docs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | unspecified | CC: | ailan, alex.williamson, fbaudin, lbopf, mgarciam, michael.larsen, pmatilai, srevivo, yrachman |
| Target Milestone: | --- | Keywords: | Documentation, ZStream |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-01-04 15:58:22 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
Michael Vittrup Larsen
2016-04-25 12:24:51 UTC
Upstream doc: http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html#loading-modules-to-enable-userspace-io-for-dpdk We need to map this to our RHEL VMs and RHEL hypervisor (as deployed by OpenStack as overcloud kernel) We have observed another thing for which you might consider a bug report. The issue is that DPDK takes over the management NIC (non SR-IOV) NIC even when it has not been bound to DPDK. This can easily be confirmed by booting a VM with SR-IOV and running the DPDK testpmd application - it will take over the management NIC and one looses network connectivity to the VM. Explicitly blacklisting the NIC when running testpmd or removing the virtio driver from ones DPDK application is a work-around for this. We have chosen the latter for our application. This is a feature from DPDK perspective, not a bug, see: http://dpdk.org/ml/archives/dev/2015-December/029102.html The virtio driver doesn't need any uio/vfio driver, it takes all detected virtio interfaces. Nice from DPDK perspective, requires to blacklist virtio interfaces on the user side or to disable virtio pmd from a user perspective. At least we could update dpdk.org documentation to enlighten this "feature"... Just FYI, in DPDK >= 16.04 this particular quirk is gone: it only takes over devices which not bound to any driver at all. See the Following Doc for DPDK - SRIOV, it is done with RHOS-8 https://docs.google.com/document/d/1KQkISoqGtjuFlLCxAEnXu6V9tq4etVPzFIKUFVVNbYU/edit Could you verify if it helped? We are working on document for RHOS10 also, it is not ready yet This will be solved once VFIO will be supported within the huest *** This bug has been marked as a duplicate of bug 1335808 *** Please note that vfio-noiommu is no worse for security than any of the uio mechanism and does add MSI support, which allows it to work better with SR-IOV VFs than uio_generic. vfio-noiommu does taint the kernel where it's run but the fact that uio does not do this is really more an issue that uio was never meant to support devices making use of DMA, which is exactly how DPDK uses it. With a VF assigned to a guest with vfio-pci in the host and to a user within the guest using vfio-noiommu, the exposure is to the guest, the host is fully isolated. This is the same degree of risk as if the guest was a bare metal system without an IOMMU. |