On Wed, Jan 16, 2019 at 12:01:00PM +0100, Andrea Bolognani wrote:
On Tue, 2019-01-15 at 17:06 +0000, Daniel P. Berrangé wrote:
> virDomainNetDef is a mess because it *still* doesn't use a enum
> for the device model :-( We really must fix that rather than
> blindly allowing arbitrary passthrough of hypervisor specific
> names.
>
> I recall Laine had patches for this some 4/5 years ago, but
> can't remember why we never merged them.
Based on what I can recall from my own, more recent, attempt at
fixing the mess, the main blocker was that in order to keep
accepting all existing configurations you'd basically have to
still store the model as a string and only at a later time
convert it to an enum.
The enum should cover all existing reasonably expected configs. Sure I
imagine we might miss a few, especially for obscure architectures or
hypervisors, but that would just be bugs to be fixed
So you'd end up making the code more complicated rather than
simpler which, needless to say, makes the idea way less
attractive :(
The key point of using an enum is to ensure that our esx/qemu/parallels
drivers all guaranteed to use the same model names, which a core benefit
that libvirt is supposed to be adding for applications.
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 :|