On Thu, Dec 14, 2017 at 01:16:32PM +0000, Stefan Hajnoczi wrote: > On Tue, Dec 05, 2017 at 01:51:54PM +0800, Peter Xu wrote: > > if (qdict) { > > id = qdict_get(qdict, "id"); > > + /* When OOB is enabled, the "id" field is mandatory. */ > > + if (qmp_oob_enabled(mon) && !id) { > > + error_setg(&err, "Out-Of-Band capability requires that " > > + "every command contains an 'id' field."); > > Is this documented in docs/interop/qmp-spec.txt?
Yes it is: @@ -102,10 +125,19 @@ The format for command execution is: required. Each command documents what contents will be considered valid when handling the json-argument - The "id" member is a transaction identification associated with the - command execution, it is optional and will be part of the response if + command execution. It is required if OOB is enabled, and optional + if not. The same "id" field will be part of the response if provided. The "id" member can be any json-value, although most clients merely use a json-number incremented for each successive command Thanks, -- Peter Xu