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 <mprivozn@xxxxxxxxxx> --- src/network/bridge_driver.c | 4 ++-- src/util/virnetdevbandwidth.c | 10 +++++++--- src/util/virnetdevbandwidth.h | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 3d6721b..17fc430 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 6ae0877..91201ae 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 (MUST be greater than 2) + * @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 9b1d2a6..f42094c 100644 --- a/src/util/virnetdevbandwidth.h +++ b/src/util/virnetdevbandwidth.h @@ -68,7 +68,7 @@ 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) -- 2.4.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list