提交 45090449 编写于 作者: M Michal Privoznik

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: NMichal Privoznik <mprivozn@redhat.com>
上级 327bc16a
...@@ -4840,7 +4840,7 @@ networkPlugBandwidth(virNetworkObjPtr net, ...@@ -4840,7 +4840,7 @@ networkPlugBandwidth(virNetworkObjPtr net,
} }
/* update rate for non guaranteed NICs */ /* update rate for non guaranteed NICs */
new_rate -= net->floor_sum; new_rate -= net->floor_sum;
if (virNetDevBandwidthUpdateRate(net->def->bridge, "1:2", if (virNetDevBandwidthUpdateRate(net->def->bridge, 2,
net->def->bandwidth, new_rate) < 0) net->def->bandwidth, new_rate) < 0)
VIR_WARN("Unable to update rate for 1:2 class on %s bridge", VIR_WARN("Unable to update rate for 1:2 class on %s bridge",
net->def->bridge); net->def->bridge);
...@@ -4891,7 +4891,7 @@ networkUnplugBandwidth(virNetworkObjPtr net, ...@@ -4891,7 +4891,7 @@ networkUnplugBandwidth(virNetworkObjPtr net,
} }
/* update rate for non guaranteed NICs */ /* update rate for non guaranteed NICs */
new_rate -= net->floor_sum; new_rate -= net->floor_sum;
if (virNetDevBandwidthUpdateRate(net->def->bridge, "1:2", if (virNetDevBandwidthUpdateRate(net->def->bridge, 2,
net->def->bandwidth, new_rate) < 0) net->def->bandwidth, new_rate) < 0)
VIR_WARN("Unable to update rate for 1:2 class on %s bridge", VIR_WARN("Unable to update rate for 1:2 class on %s bridge",
net->def->bridge); net->def->bridge);
......
...@@ -638,7 +638,8 @@ virNetDevBandwidthUnplug(const char *brname, ...@@ -638,7 +638,8 @@ virNetDevBandwidthUnplug(const char *brname,
/** /**
* virNetDevBandwidthUpdateRate: * virNetDevBandwidthUpdateRate:
* @ifname: interface name * @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 * @new_rate: new rate
* *
* This function updates the 'rate' attribute of HTB class. * This function updates the 'rate' attribute of HTB class.
...@@ -650,16 +651,18 @@ virNetDevBandwidthUnplug(const char *brname, ...@@ -650,16 +651,18 @@ virNetDevBandwidthUnplug(const char *brname,
*/ */
int int
virNetDevBandwidthUpdateRate(const char *ifname, virNetDevBandwidthUpdateRate(const char *ifname,
const char *class_id, unsigned int id,
virNetDevBandwidthPtr bandwidth, virNetDevBandwidthPtr bandwidth,
unsigned long long new_rate) unsigned long long new_rate)
{ {
int ret = -1; int ret = -1;
virCommandPtr cmd = NULL; virCommandPtr cmd = NULL;
char *class_id = NULL;
char *rate = NULL; char *rate = NULL;
char *ceil = 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 ? virAsprintf(&ceil, "%llukbps", bandwidth->in->peak ?
bandwidth->in->peak : bandwidth->in->peak :
bandwidth->in->average) < 0) bandwidth->in->average) < 0)
...@@ -677,6 +680,7 @@ virNetDevBandwidthUpdateRate(const char *ifname, ...@@ -677,6 +680,7 @@ virNetDevBandwidthUpdateRate(const char *ifname,
cleanup: cleanup:
virCommandFree(cmd); virCommandFree(cmd);
VIR_FREE(class_id);
VIR_FREE(rate); VIR_FREE(rate);
VIR_FREE(ceil); VIR_FREE(ceil);
return ret; return ret;
......
...@@ -68,11 +68,10 @@ int virNetDevBandwidthUnplug(const char *brname, ...@@ -68,11 +68,10 @@ int virNetDevBandwidthUnplug(const char *brname,
ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK; ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virNetDevBandwidthUpdateRate(const char *ifname, int virNetDevBandwidthUpdateRate(const char *ifname,
const char *class_id, unsigned int id,
virNetDevBandwidthPtr bandwidth, virNetDevBandwidthPtr bandwidth,
unsigned long long new_rate) unsigned long long new_rate)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
ATTRIBUTE_RETURN_CHECK;
int virNetDevBandwidthUpdateFilter(const char *ifname, int virNetDevBandwidthUpdateFilter(const char *ifname,
const virMacAddr *ifmac_ptr, const virMacAddr *ifmac_ptr,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册