mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-23 11:52:20 +00:00
qemu: fail on attempt to set 'floor' if interface type is not 'network'
QoS 'floor' setting is documented to be only supported for interfaces of type 'network'. Fail with an error message on attempt to set 'floor' on an interface of any other type. Signed-off-by: Pavel Mores <pmores@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
17f430eb5c
commit
92a71456ac
@ -11672,9 +11672,21 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
|
||||
sizeof(*newBandwidth->out));
|
||||
}
|
||||
|
||||
if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK &&
|
||||
virDomainNetBandwidthUpdate(net, newBandwidth) < 0)
|
||||
if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
|
||||
if (virDomainNetBandwidthUpdate(net, newBandwidth) < 0)
|
||||
goto endjob;
|
||||
} else {
|
||||
if (virNetDevBandwidthHasFloor(bandwidth)) {
|
||||
char ifmac[VIR_MAC_STRING_BUFLEN];
|
||||
|
||||
virMacAddrFormat(&net->mac, ifmac);
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
|
||||
_("Invalid use of 'floor' on interface with MAC address %s "
|
||||
"- 'floor' is only supported for interface type 'network' with forward type 'nat', 'route', 'open' or none"),
|
||||
ifmac);
|
||||
goto endjob;
|
||||
}
|
||||
}
|
||||
|
||||
if (virNetDevBandwidthSet(net->ifname, newBandwidth, false,
|
||||
!virDomainNetTypeSharesHostView(net)) < 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user