[v2,0/4] util: Fixing libvirt errors on cavium/thunder-nicvf

Message ID 20181117195113.12544-1-radoslaw.biernacki@linaro.org
Headers show
Series
  • util: Fixing libvirt errors on cavium/thunder-nicvf
Related show

Message

Radoslaw Biernacki Nov. 17, 2018, 7:51 p.m.
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

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

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           | 62 +++++---------------
 3 files changed, 22 insertions(+), 55 deletions(-)

-- 
2.14.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Comments

dann frazier Dec. 12, 2018, 7:23 p.m. | #1
On Sat, Nov 17, 2018 at 1:17 PM Radoslaw Biernacki
<radoslaw.biernacki@linaro.org> wrote:
>

> 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

>

> 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


Thanks Radoslaw ! I know a v3 is in the works, but just an fyi that we
ran this series through our OpenStack testing on a cluster of ThunderX
nodes and found no issues.

  -dann

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
dann frazier Jan. 9, 2019, 5:36 p.m. | #2
On Wed, Dec 12, 2018 at 12:23 PM dann frazier
<dann.frazier@canonical.com> wrote:
>

> On Sat, Nov 17, 2018 at 1:17 PM Radoslaw Biernacki

> <radoslaw.biernacki@linaro.org> wrote:

> >

> > 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

> >

> > 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

>

> Thanks Radoslaw ! I know a v3 is in the works, but just an fyi that we

> ran this series through our OpenStack testing on a cluster of ThunderX

> nodes and found no issues.


hey Radoslaw,

  Thanks for all of your work on this so far on this. Do you expect to
have time to prepare a v3, or would it help if I took a crack at it?

  -dann

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list