mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
bandwidth: Create format functions
This commit is contained in:
parent
e2ed67a8b6
commit
aaa98b08ff
@ -8855,6 +8855,9 @@ virDomainNetDefFormat(virBufferPtr buf,
|
|||||||
virBufferAddLit(buf, " </tune>\n");
|
virBufferAddLit(buf, " </tune>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (virBandwidthDefFormat(buf, def->bandwidth, " ") < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (virDomainDeviceInfoFormat(buf, &def->info, flags) < 0)
|
if (virDomainDeviceInfoFormat(buf, &def->info, flags) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -1329,6 +1329,9 @@ char *virNetworkDefFormat(const virNetworkDefPtr def)
|
|||||||
if (virNetworkDNSDefFormat(&buf, def->dns) < 0)
|
if (virNetworkDNSDefFormat(&buf, def->dns) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
if (virBandwidthDefFormat(&buf, def->bandwidth, " ") < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
for (ii = 0; ii < def->nips; ii++) {
|
for (ii = 0; ii < def->nips; ii++) {
|
||||||
if (virNetworkIpDefFormat(&buf, &def->ips[ii]) < 0)
|
if (virNetworkIpDefFormat(&buf, &def->ips[ii]) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -710,6 +710,7 @@ nlComm;
|
|||||||
|
|
||||||
|
|
||||||
# network.h
|
# network.h
|
||||||
|
virBandwidthDefFormat;
|
||||||
virBandwidthDefFree;
|
virBandwidthDefFree;
|
||||||
virBandwidthDefParseNode;
|
virBandwidthDefParseNode;
|
||||||
virSocketAddrBroadcast;
|
virSocketAddrBroadcast;
|
||||||
|
@ -1030,3 +1030,75 @@ virBandwidthDefFree(virBandwidthPtr def)
|
|||||||
VIR_FREE(def->out);
|
VIR_FREE(def->out);
|
||||||
VIR_FREE(def);
|
VIR_FREE(def);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
virBandwidthChildDefFormat(virBufferPtr buf,
|
||||||
|
virRatePtr def,
|
||||||
|
const char *elem_name)
|
||||||
|
{
|
||||||
|
if (!buf || !def || !elem_name)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (def->average) {
|
||||||
|
virBufferAsprintf(buf, "<%s average='%llu'", elem_name, def->average);
|
||||||
|
|
||||||
|
if (def->peak)
|
||||||
|
virBufferAsprintf(buf, " peak='%llu'", def->peak);
|
||||||
|
|
||||||
|
if (def->burst)
|
||||||
|
virBufferAsprintf(buf, " burst='%llu'", def->burst);
|
||||||
|
virBufferAddLit(buf, "/>\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* virBandwidthDefFormat:
|
||||||
|
* @buf: Buffer to print to
|
||||||
|
* @def: Data source
|
||||||
|
* @indent: prepend all lines printed with this
|
||||||
|
*
|
||||||
|
* Formats bandwidth and prepend each line with @indent.
|
||||||
|
* Passing NULL to @indent is equivalent passing "".
|
||||||
|
*
|
||||||
|
* Returns 0 on success, else -1.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
virBandwidthDefFormat(virBufferPtr buf,
|
||||||
|
virBandwidthPtr def,
|
||||||
|
const char *indent)
|
||||||
|
{
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
if (!buf)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (!def) {
|
||||||
|
ret = 0;
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!indent)
|
||||||
|
indent = "";
|
||||||
|
|
||||||
|
virBufferAsprintf(buf, "%s<bandwidth>\n", indent);
|
||||||
|
if (def->in) {
|
||||||
|
virBufferAsprintf(buf, "%s ", indent);
|
||||||
|
if (virBandwidthChildDefFormat(buf, def->in, "inbound") < 0)
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (def->out) {
|
||||||
|
virBufferAsprintf(buf, "%s ", indent);
|
||||||
|
if (virBandwidthChildDefFormat(buf, def->out, "outbound") < 0)
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
virBufferAsprintf(buf, "%s</bandwidth>\n", indent);
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -152,4 +152,7 @@ virVirtualPortProfileFormat(virBufferPtr buf,
|
|||||||
|
|
||||||
virBandwidthPtr virBandwidthDefParseNode(xmlNodePtr node);
|
virBandwidthPtr virBandwidthDefParseNode(xmlNodePtr node);
|
||||||
void virBandwidthDefFree(virBandwidthPtr def);
|
void virBandwidthDefFree(virBandwidthPtr def);
|
||||||
|
int virBandwidthDefFormat(virBufferPtr buf,
|
||||||
|
virBandwidthPtr def,
|
||||||
|
const char *indent);
|
||||||
#endif /* __VIR_NETWORK_H__ */
|
#endif /* __VIR_NETWORK_H__ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user