On 04/16/2015 01:00 PM, Laine Stump wrote: > On 04/14/2015 12:59 PM, Michal Privoznik wrote: >> After a360912179 the formatting of virDomainActualNetDefPtr was >> changed a bit. However, during the function rewrite, iface's class_id >> is not formatted as frequently as it could be. In fact, after rewrite >> it's formatted only for iface of type VIR_DOMAIN_NET_TYPE_DIRECT where >> it makes no sense and is unused. While where needed (_TYPE_NETWORK) is >> not formatted at all. > Yikes! That was a typo when moving the code around. Should have been > VIR_DOMAIN_NET_TYPE_NETWORK (that bit was inside "case > VIR_DOMAIN_NET_TYPE_NETWORK previous to the patch) > >> This makes the daemon forget it upon daemon >> restart resulting in bad behaviour. >> >> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> >> --- >> src/conf/domain_conf.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c >> index 4d7e3c9..ab4f2bf 100644 >> --- a/src/conf/domain_conf.c >> +++ b/src/conf/domain_conf.c >> @@ -18608,8 +18608,7 @@ virDomainActualNetDefContentsFormat(virBufferPtr buf, >> >> virBufferAddLit(buf, "/>\n"); >> } >> - if (actualType == VIR_DOMAIN_NET_TYPE_DIRECT && >> - def->data.network.actual && def->data.network.actual->class_id) { >> + if (def->data.network.actual && def->data.network.actual->class_id) { >> virBufferAsprintf(buf, "<class id='%u'/>\n", >> def->data.network.actual->class_id); >> } > I suppose since the modes that wouldn't have been able to setup any > bandwidth limiting would have class_id == 0, this works. If you for some > reason wanted to protect against using it for hostdev interfaces, yoou > could move it up into the preceding else clause, but I guess I don't see > any gain from that. An interesting aside note - just a few days ago I noticed that at most/all SRIOV cards have support for setting a bandwidth maximum on each VF (and at least a couple support setting a minimum). Of course in this case tc wouldn't be used, so no class_id would be needed (in other words, it's not directly relevant to this patch), I just thought it was interesting - a nice simple project for someone with a few spare cycles and access to the proper SRIOV hardware for testing. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list