On 11.12.2012 17:38, Laine Stump wrote: > On 12/11/2012 11:09 AM, Michal Privoznik wrote: >> Interfaces keeps a class_id, which is an ID from which bridge >> part of QoS settings is derived. We need to store class_id >> in domain status file, so we can later pass it to >> virNetDevBandwidthUnplug. >> --- >> src/conf/domain_conf.c | 13 +++++++++++++ >> 1 files changed, 13 insertions(+), 0 deletions(-) >> >> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c >> index 18e65ca..f5e2f71 100644 >> --- a/src/conf/domain_conf.c >> +++ b/src/conf/domain_conf.c >> @@ -4819,6 +4819,17 @@ virDomainActualNetDefParseXML(xmlNodePtr node, >> hostdev, flags) < 0) { >> goto error; >> } >> + } else if (actual->type == VIR_DOMAIN_NET_TYPE_NETWORK) { >> + char *class_id = virXPathString("string(./class/@id)", ctxt); >> + if (class_id && >> + virStrToLong_ui(class_id, NULL, 10, &actual->class_id) < 0) { >> + virReportError(VIR_ERR_INTERNAL_ERROR, >> + _("Unable to parse class id '%s'"), >> + class_id); >> + VIR_FREE(class_id); >> + goto error; >> + } >> + VIR_FREE(class_id); >> } >> >> bandwidth_node = virXPathNode("./bandwidth", ctxt); >> @@ -12511,6 +12522,8 @@ virDomainActualNetDefFormat(virBufferPtr buf, >> break; >> >> case VIR_DOMAIN_NET_TYPE_NETWORK: >> + if (def->class_id) >> + virBufferAsprintf(buf, "<class id='%u'/>", def->class_id); >> break; >> default: >> virReportError(VIR_ERR_INTERNAL_ERROR, > > ACK. > Thanks, I've pushed the patches now. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list