On Thu, Sep 30, 2021 at 09:47:01AM +0100, Daniel P. Berrangé wrote:
On Thu, Sep 30, 2021 at 08:33:48AM +0100, Richard W.M. Jones wrote:
> I propose we deprecate the guid parameter in:
>
> -device vmgenid,guid=8987940a-0951-2cc5-e815-10634ff550b9,id=vmgenid0
>
> Instead it will be replaced by bytes= which will simply write
> the bytes, in the order they appear, into guest memory with no
> attempt to interpret or byte-swap. Something like:
>
> -device vmgenid,bytes=112233445566778899aabbccddeeff00,id=vmgenid0
>
> (guid although deprecated will need to be kept around for a while,
> along with its weird byte-swapping behaviour).
>
> We will then have a plain and simple method to emulate the behaviour
> of other hypervisors. We will look at exactly what bytes they write
> to guest memory and copy that behaviour when v2v converting from those
> hypervisors.
From the libvirt POV, I'm not expecting anything in QEMU to change
in this respect. If guid is replaced by a new attribute taking data
in a different way, then libvirt will have to remap itself, so that
existing usage in libvirt keeps working the same way as it did with
guid. Essentially from libvirt's POV, it is simply a documentation
issue to specify how the libvirt XML representation translates to
the guest visible representation, and ensure that all libvirt drivers
implement it the same way. The QEMU genid support arrived first so
that set the standard for how libvirt will represent it, that all
further libvirt hypervisor drivers need to match.
I was going to suggest something like:
<genid type="guid">aa-bb-cc..</genid>
or
<genid type="binary">aabbcc..</genid>
with the type defaulting to guid for backwards compatibility.
Does libvirt XML have any other fields were you're passing
essentially small snippets of binary data?
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org