On 10/12/12 11:40, Paolo Bonzini wrote:
> Il 12/10/2012 11:26, Gerd Hoffmann ha scritto:
>> This patch adds chardev_add and chardev_del monitor commands.
>>
>> chardev_del is pretty straight forward, it just takes an id argument and
>> zaps the chardev specified.
>>
>> chardev_add is more tricky as there are tons of arguments for the
>> different backends. The hmp version limited to the most common use
>> cases, especially when it comes to sockets: You can only specify port
>> (tcp) or path (unix) and qemu will create a listening socket. For
>> example this ...
>>
>> (qemu) chardev_add foo socket 42
>>
>> ... will do the same as ...
>>
>> -chardev socket,id=foo,port=42,server,nowait
>
> Why not
>
> chardev_add socket,id=foo,port=42,server,nowait
>
> ?
Yea, maybe, but see below.
>> +{ 'command': 'chardev_add', 'data': {'id' : 'str',
>> + 'backend' : 'str',
>> + 'path' : 'str',
>> + 'name' : 'str',
>> + 'host' : 'str',
>> + 'port' : 'str',
>
> You cannot pass NULLs via QMP, so these need to be optional.
Fixed.
> I suggest that you implement the commands in a similar way as netdev_add.
Why? Isn't the whole point of using josn is that you'll get the stuff
from the josn parser & marshaller in a usable form instead of having it
to feed into yet another parser? I think the only reason netdev_add
exists in the current form is that it predates qmp.
cheers,
Gerd