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; + } + } + } 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++; 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; + } } /* set default disk types and drivers */ -- 2.5.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list