On 03/21/2016 02:11 AM, Chunyan Liu wrote: > For those VF allocated from a network pool, we need to set its backend > to be VIR_DOMAIN_HOSTDEV_PCI_BACKEND_XEN so that later work can be > correct. > > Signed-off-by: Chunyan Liu <cyliu@xxxxxxxx> > --- > src/libxl/libxl_driver.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c > index 328dac8..d7004fd 100644 > --- a/src/libxl/libxl_driver.c > +++ b/src/libxl/libxl_driver.c > @@ -3145,13 +3145,23 @@ libxlDomainAttachNetDevice(libxlDriverPrivatePtr driver, > } > > if (actualType == VIR_DOMAIN_NET_TYPE_HOSTDEV) { > + virDomainHostdevDefPtr hostdev = virDomainNetGetActualHostdev(net); > + virDomainHostdevSubsysPCIPtr pcisrc = &hostdev->source.subsys.u.pci; > + > + /* For those just allocated from a network pool whose backend is > + * still VIR_DOMAIN_HOSTDEV_PCI_BACKEND_DEFAULT, we need to set > + * backend correctly. > + */ > + if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && > + hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) > + pcisrc->backend = VIR_DOMAIN_HOSTDEV_PCI_BACKEND_XEN; > + > /* This is really a "smart hostdev", so it should be attached > * as a hostdev (the hostdev code will reach over into the > * netdev-specific code as appropriate), then also added to > * the nets list (see out:) if successful. > */ > - ret = libxlDomainAttachHostDevice(driver, vm, > - virDomainNetGetActualHostdev(net)); > + ret = libxlDomainAttachHostDevice(driver, vm, hostdev); ACK, will push shortly. I'm still looking at 4/6 and 6/6. Regards, Jim -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list