[libvirt] [PATCH-RFC] qemu: Add network bandwidth setting for ethernet interfaces
Martin Kletzander
mkletzan at redhat.com
Fri Sep 5 08:31:20 UTC 2014
On Thu, Sep 04, 2014 at 03:02:54PM -0700, Anirban Chakraborty wrote:
>ethernet interfaces in libvirt currently do not support bandwidth setting.
>For example, following xml file for an interface will not apply these
>settings to corresponding qdiscs.
>
>----
> <interface type="ethernet">
> <mac address="02:36:1d:18:2a:e4"/>
> <model type="virtio"/>
> <script path=""/>
> <target dev="tap361d182a-e4"/>
> <bandwidth>
> <inbound average="984" peak="1024" burst="64"/>
> <outbound average="2000" peak="2048" burst="128"/>
> </bandwidth>
> </interface>
>-----
>
>This patch fixes the behavior.
Although this doesn't confuse git, it might confuse something else.
Leaving it without '----' is ok.
>Please review it and if it appears ok, please apply.
>
>thanks,
>Anirban Chakraborty
>
No need to have this in the commit message, it's kept in the log then.
>
>Signed-off-by: Anirban Chakraborty <abchak at juniper.net>
>---
> src/qemu/qemu_command.c | 5 +++++
> src/qemu/qemu_hotplug.c | 3 +++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
>diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
>index 2184caa..258c6a7 100644
>--- a/src/qemu/qemu_command.c
>+++ b/src/qemu/qemu_command.c
>@@ -7251,6 +7251,11 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
> if (tapfd[0] < 0)
> goto cleanup;
> }
>+ /* Configure network bandwidth for ethernet type network interfaces */
>+ if (actualType == VIR_DOMAIN_NET_TYPE_ETHERNET)
>+ if (virNetDevBandwidthSet(net->ifname,
>+ virDomainNetGetActualBandwidth(net), false) < 0)
>+ goto cleanup;
>
In libvirt, we indent by spaces. This would be caught by running
'make syntax-check'. Anyway, running 'make syntax-check check' is a
good practice to follow before formatting the patches.
> if ((actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
> actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
>diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
>index a364c52..aeb53c5 100644
>--- a/src/qemu/qemu_hotplug.c
>+++ b/src/qemu/qemu_hotplug.c
>@@ -940,6 +940,9 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
> if (qemuOpenVhostNet(vm->def, net, priv->qemuCaps, vhostfd, &vhostfdSize) < 0)
> goto cleanup;
> } else if (actualType == VIR_DOMAIN_NET_TYPE_ETHERNET) {
>+ if (virNetDevBandwidthSet(net->ifname,
>+ virDomainNetGetActualBandwidth(net), false) < 0)
>+ goto cleanup;
Same here.
We need to clear the bandwidth settings when shutting down the domain
or unplugging the device.
Looking forward to v2,
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140905/fce1a028/attachment-0001.sig>
More information about the libvir-list
mailing list