On Mon, May 18, 2020 at 10:07:25 -0500, Eric Blake wrote: > On 5/15/20 10:27 AM, Peter Krempa wrote: > > In preparation for converting the generator of -netdev to generate JSON > > which will be used to do the command line rather than the other way > > around we need to introduce a convertor which properly configures > > virQEMUBuildCommandLineJSON for the quirks of -netdev. > > > > Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> > > --- > > src/libvirt_private.syms | 1 + > > src/util/virqemu.c | 22 ++++++++++++++++++++++ > > src/util/virqemu.h | 3 +++ > > 3 files changed, 26 insertions(+) > > > > > +/** > > + * virQEMUBuildNetdevCommandlineFromJSON: > > + * @props: JSON properties describing a netdev > > + * > > + * Converts @props into arguments for -netdev including all the quirks and > > + * differences between the monitor and command line syntax. > > + */ > > +char * > > +virQEMUBuildNetdevCommandlineFromJSON(virJSONValuePtr props) > > +{ > > + const char *type = virJSONValueObjectGetString(props, "type"); > > + g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; > > + > > + virBufferAsprintf(&buf, "%s,", type); > > + > > + if (virQEMUBuildCommandLineJSON(props, &buf, "type", true, NULL) < 0) > > + return NULL; > > Do we actually have to special-case "type"? I'd have to go back and see since when we can use type= explicitly with qemu and I didn't really feel doing that across all supported qemu versions. Well, to be fair not even across the reasonable versions.