[libvirt] [PATCH v3 0/4] util: Fixing libvirt errors on cavium/thunder-nicvf

dann frazier dann.frazier at canonical.com
Tue Jan 22 19:26:11 UTC 2019


Following up on my offer to take the baton[*], here's a v3 of this series
that should address the provided feedback provided for Radoslaw's v2.

ThunderX is Cavium SoC. This platform contain SRIOV NIC.
Unlike other commonly known network devices it does not have VF functionality
duplicated in its PF. PF is purely management device (on HW level).

This creates several problems with existing libvirt code as in many places
libvirt assumes that each VF netdev has PF netdev assigned. 

This patch series trying to address issues which can be easily fixed.
(mostly bug fixes found while working on full featured solution)

First patch in series is most important as it allows to unblock the netdev
detection and use <hostdev> on this platform.i <interface type="hostdev"
still does not work as it requires bigger changes both on netdev driver 
and in libvirt itself.
More details about those issues can be found at:
https://bugs.linaro.org/show_bug.cgi?id=3778
https://bugs.launchpad.net/charm-nova-compute/+bug/1771662

v3:
- Reinstated error path in virNetDevGetPhysicalFunction()
- Add missing free of *pfname in error path
- Use proper < 0 comparisons when checking for errors

v2:
- error reporting taken out of virNetDevGetPhysicalFunction() and moved
  to calling function virNetDevGetVirtualFunctionInfo()
- curly braces removed from single line
- net-> model check removed as STREQ_NULLABLE() follows

[*] https://www.redhat.com/archives/libvir-list/2019-January/msg00201.html

Radoslaw Biernacki (4):
  util: fixing wrong assumption that PF has to have netdev assigned
  util: Code simplification
  util: Fix for NULL dereference
  util: Fixing invalid error checking from virPCIGetNetname()

 src/qemu/qemu_domain_address.c | 13 ++++----
 src/util/virhostdev.c          |  2 +-
 src/util/virnetdev.c           | 55 ++++++++++++----------------------
 3 files changed, 25 insertions(+), 45 deletions(-)

-- 
2.20.1




More information about the libvir-list mailing list