On Wed, May 11, 2016 at 12:18:51 -0400, Laine Stump wrote: > This would previously be silently ignored. > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1319044 > --- > src/network/bridge_driver.c | 25 +++++++++++++++++++++++++ > src/qemu/qemu_domain.c | 21 ++++++++++++++++----- > 2 files changed, 41 insertions(+), 5 deletions(-) > > diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c > index bef8a78..0fd2095 100644 > --- a/src/network/bridge_driver.c > +++ b/src/network/bridge_driver.c > @@ -3126,6 +3126,20 @@ networkValidate(virNetworkDriverStatePtr driver, > def->name); > return -1; > } > + > + if (def->forward.type == VIR_NETWORK_FORWARD_HOSTDEV) { > + for (i = 0; i < def->nPortGroups; i++) { > + if (def->portGroups[i].bandwidth) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, > + _("unsupported <bandwidth> element " > + "in <portgroup name='%s'> of " > + "network '%s' with forward mode='%s'"), > + def->portGroups[i].name, def->name, > + virNetworkForwardTypeToString(def->forward.type)); > + return -1; > + } > + } > + } Okay this part gets called in networkDefineXML, networkCreateXML and networkStartNetworkVirtual. > return 0; > } > > @@ -4305,6 +4319,17 @@ networkAllocateActualDevice(virDomainDefPtr dom, > goto error; > } > } > + if (virDomainNetGetActualBandwidth(iface)) { > + /* bandwidth configuration via libvirt is not supported for > + * hostdev network devices > + */ > + if (actualType == VIR_DOMAIN_NET_TYPE_HOSTDEV) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("bandwidth settings are not supported " > + "for hostdev interfaces")); > + goto error; > + } > + } > > if (netdef) { > netdef->connections++; ACK to the code above. > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c > index f7356a2..4e32251 100644 > --- a/src/qemu/qemu_domain.c > +++ b/src/qemu/qemu_domain.c > @@ -2119,12 +2119,23 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, > > qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator); > > - if (dev->type == VIR_DOMAIN_DEVICE_NET && > - dev->data.net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV && > - !dev->data.net->model) { > - if (VIR_STRDUP(dev->data.net->model, > - qemuDomainDefaultNetModel(def, qemuCaps)) < 0) > + if (dev->type == VIR_DOMAIN_DEVICE_NET) { > + virDomainNetDefPtr net = dev->data.net; > + > + if (net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV && !net->model && > + VIR_STRDUP(net->model, qemuDomainDefaultNetModel(def, qemuCaps)) < 0) > + goto cleanup; > + > + if (net->type == VIR_DOMAIN_NET_TYPE_HOSTDEV && > + virDomainNetGetActualBandwidth(net)) { > + /* bandwidth configuration via libvirt is not supported > + * for hostdev network devices > + */ > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("bandwidth settings are not supported " > + "for hostdev interfaces")); > goto cleanup; NACK to this part. This makes vm configs that were previously accepted vanish. This can only be a start-time check.
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list