From: Michal Privoznik Date: Fri, 31 Jul 2015 15:44:13 +0000 (+0200) Subject: virNetDevBandwidthUpdateRate: turn class_id into integer X-Git-Tag: v1.2.19-rc1~99 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45090449c476d328541225f79d040345a781121a;p=thirdparty%2Flibvirt.git virNetDevBandwidthUpdateRate: turn class_id into integer This is no functional change. It's just that later in the series we will need to pass class_id as an integer. Signed-off-by: Michal Privoznik --- diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 3d6721b9b5..17fc430eb7 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -4840,7 +4840,7 @@ networkPlugBandwidth(virNetworkObjPtr net, } /* update rate for non guaranteed NICs */ new_rate -= net->floor_sum; - if (virNetDevBandwidthUpdateRate(net->def->bridge, "1:2", + if (virNetDevBandwidthUpdateRate(net->def->bridge, 2, net->def->bandwidth, new_rate) < 0) VIR_WARN("Unable to update rate for 1:2 class on %s bridge", net->def->bridge); @@ -4891,7 +4891,7 @@ networkUnplugBandwidth(virNetworkObjPtr net, } /* update rate for non guaranteed NICs */ new_rate -= net->floor_sum; - if (virNetDevBandwidthUpdateRate(net->def->bridge, "1:2", + if (virNetDevBandwidthUpdateRate(net->def->bridge, 2, net->def->bandwidth, new_rate) < 0) VIR_WARN("Unable to update rate for 1:2 class on %s bridge", net->def->bridge); diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c index 6ae08775a4..da3a0d327e 100644 --- a/src/util/virnetdevbandwidth.c +++ b/src/util/virnetdevbandwidth.c @@ -638,7 +638,8 @@ virNetDevBandwidthUnplug(const char *brname, /** * virNetDevBandwidthUpdateRate: * @ifname: interface name - * @classid: ID of class to update + * @id: unique identifier + * @bandwidth: used to derive 'ceil' of class with @id * @new_rate: new rate * * This function updates the 'rate' attribute of HTB class. @@ -650,16 +651,18 @@ virNetDevBandwidthUnplug(const char *brname, */ int virNetDevBandwidthUpdateRate(const char *ifname, - const char *class_id, + unsigned int id, virNetDevBandwidthPtr bandwidth, unsigned long long new_rate) { int ret = -1; virCommandPtr cmd = NULL; + char *class_id = NULL; char *rate = NULL; char *ceil = NULL; - if (virAsprintf(&rate, "%llukbps", new_rate) < 0 || + if (virAsprintf(&class_id, "1:%x", id) < 0 || + virAsprintf(&rate, "%llukbps", new_rate) < 0 || virAsprintf(&ceil, "%llukbps", bandwidth->in->peak ? bandwidth->in->peak : bandwidth->in->average) < 0) @@ -677,6 +680,7 @@ virNetDevBandwidthUpdateRate(const char *ifname, cleanup: virCommandFree(cmd); + VIR_FREE(class_id); VIR_FREE(rate); VIR_FREE(ceil); return ret; diff --git a/src/util/virnetdevbandwidth.h b/src/util/virnetdevbandwidth.h index 9b1d2a6364..bceac2eaf1 100644 --- a/src/util/virnetdevbandwidth.h +++ b/src/util/virnetdevbandwidth.h @@ -68,11 +68,10 @@ int virNetDevBandwidthUnplug(const char *brname, ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK; int virNetDevBandwidthUpdateRate(const char *ifname, - const char *class_id, + unsigned int id, virNetDevBandwidthPtr bandwidth, unsigned long long new_rate) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) - ATTRIBUTE_RETURN_CHECK; + ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK; int virNetDevBandwidthUpdateFilter(const char *ifname, const virMacAddr *ifmac_ptr,