[libvirt] [PATCH v4 03/29] conf: don't pass interface type into virNetDevBandwidthParse
Daniel P. Berrangé
berrange at redhat.com
Thu Apr 18 10:32:57 UTC 2019
On Wed, Apr 17, 2019 at 04:33:54PM -0400, Laine Stump wrote:
> On 4/17/19 1:19 PM, Daniel P. Berrangé wrote:
> > The virNetDevBandwidthParse method uses the interface type to decide
> > whether to allow use of the "floor" parameter. Using the interface
> > type is not convenient as callers may not have that available, but
> > still wish to allow use of "floor".
>
>
> Also, this is one of the things that gave rise to the distinction between
> actualType == NETWORK and actualType == BRIDGE, and this patch allows us to
> eliminate that (hopefully) without causing breakage.
Well sort of. If using a plain bridge virtual network you can't
use floor - that's only valid for routed networks. Trying to enforce
this at parse time is doomed though - you can only corrrectly report
this at runtime as you need the context of the virtual network itself.
This was already an issue when parsing the top level netdef - only
the actual netdef had any better checking.
I'm almost inclined to remove all the logic preventing "floor" at
XML parse time and rely on runtime checks entirely.
> > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> > index 51aa48f421..0df3c2ed49 100644
> > --- a/src/conf/domain_conf.c
> > +++ b/src/conf/domain_conf.c
> > @@ -11270,7 +11270,7 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
> > if (bandwidth_node &&
> > virNetDevBandwidthParse(&actual->bandwidth,
> > bandwidth_node,
> > - actual->type) < 0)
> > + def->type == VIR_DOMAIN_NET_TYPE_NETWORK) < 0)
>
>
> This bit here ^^^ doesn't compile, since def is undefined. You would need to
> check "parent->type" instead.
Should be "actual->type" in fact.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list