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