
On Mon, Jun 26, 2017 at 07:23:50AM -0600, Eric Blake wrote:
On 06/17/2017 09:15 PM, Eduardo Habkost wrote:
(CCing qemu-devel and the QAPI maintainers. I have a question about introspection below.)
Fortunately, netdev options are modelled in the QAPI schema as union Netdev. However, 'query-qmp-schema' doesn't seem to include union Netdev because it is not referenced by any QMP command or event.
I've posted patches in the past (qemu 2.6 timeframe, if I recall) that changed netdev_add into a fully-advertised interface, but we didn't take it then because we weren't sure how to handle the fact that netdev_add can currently accept both an integer (1) and a string ("1") as identical, and we didn't want to risk breaking clients that passed a string when the promoted command would only accept integers. I guess we should revive that.
Markus, Eric, Michael: is there any way libvirt can query the definition of union Netdev from the schema with current QEMU?
Really, we need to promote netdev_add to a full-fledged QMP command.
This may be enough for -netdev, but do we want to make command-line option introspection always depend on having the same struct being used in a QMP command to work? What if the arguments for the command-line option don't match precisely the input of a QMP command? -- Eduardo