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