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. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list