On 01/11/2010 12:34 PM, Luiz Capitulino wrote:
Hi.
We (Markus and I) are working on getting QMP forward compatibility support,
supported. :)
We have a plan for it and I'd like to ask the CC'ed people to review it.
Needless to say, but the objective here is to add new commands, arguments,
async messages and protocol features w/o breaking existing clients.
General Plan
------------
1. QMP should describe itself, ie. it should dump all accepted commands,
their replies and arguments, async messages and protocol features. All in
JSON format
2. Protocol features are advertised by the (already existent) capabilities
array, but are _disabled_ by default. The exception is async messages,
which are _enabled_ by default
Any reason to have an exception like this?
3. We should add command(s) to enable/disable protocol features
4. Proper feature negotiation is done in pause mode. That's, clients
interested in enabling new protocol features should start QEMU in
pause mode and enable the features they are interested in using
Why does this matter?
We should be careful to support connecting to a VM long after it's been
started so any requirement like this is likely to cause trouble.
Regards,
Anthony Liguori