On Fri, Nov 11, 2011 at 08:27:48PM +0100, Marc-André Lureau wrote:
> On Thu, Nov 10, 2011 at 9:34 PM, Christophe Fergeau <cferg...@redhat.com> 
> wrote:
> > Make GVirConfigInterface an abstract base class, and move the
> > actual code in subclasses. This will make handling of the various
> > types of network interfaces more understandable and more logical
> > with respect to the corresponding XML.
> 
> I am not really convince about this approach, it breaks a bit the
> mapping between objects and node. I will let someone else with more
> familiarity with the XML to discuss this patch. Otherwise it works as
> expected.

The various network interfaces XML descriptions have so many peculiarities
that I think it's the only sane way to handle this.
The documentation is at http://libvirt.org/formatdomain.html#elementsNICS ,
and as I read it it's really
"if the interface type is XXX, you can have a <target> node with this format,
a <mac> node, a <virtualport> node, if it's YYY then the <target> node as
this different format, and there is this <script> node that can be used,
and with type ZZZ you only have a <source> node"
If we try to handle all of this in a single class, it will be really easy
to generate non-sensical configs, and with no obvious way from the API to
guess what makes sense or not. Having separate classes make it much easier
to show which operations are useful/meaningful on what type of interface.

Christophe

Attachment: pgpOliR6EgDF7.pgp
Description: PGP signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to