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.
signature.asc
Description: Digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
