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