On Mon, Jan 10, 2011 at 02:31:47PM +0100, Gerd Hoffmann wrote: > Handle spice client migration, i.e. inform a spice client connected > about the new host and connection parameters, so it can move over the > connection automatically. > > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > hmp-commands.hx | 20 ++++++++++++++++++++ > qmp-commands.hx | 35 +++++++++++++++++++++++++++++++++++ > ui/qemu-spice.h | 1 + > ui/spice-core.c | 40 ++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 96 insertions(+), 0 deletions(-) > > diff --git a/hmp-commands.hx b/hmp-commands.hx > index df134f8..e6d8f36 100644 > --- a/hmp-commands.hx > +++ b/hmp-commands.hx > @@ -815,6 +815,26 @@ ETEXI > }, > > STEXI > +...@item spice_migrate_info @var{hostname} @var{port} @var{tls-port} > @var{cert-subject} > +...@findex spice_migrate_info > +Set the spice connection info for the migration target. The spice > +server will ask the spice client to automatically reconnect using the > +new parameters (if specified) once the vm migration finished > +successfully. > +ETEXI
> + > +#if defined(CONFIG_SPICE) > + { > + .name = "spice_migrate_info", > + .args_type = "hostname:s,port:i?,tls-port:i?,cert-subject:s?", > + .params = "hostname port tls-port cert-subject", > + .help = "send migration info to spice client", > + .user_print = monitor_user_noop, > + .mhandler.cmd_new = mon_spice_migrate, > + }, > +#endif > + > +STEXI > @item snapshot_blkdev > @findex snapshot_blkdev > Snapshot device, using snapshot file as target if provided > diff --git a/qmp-commands.hx b/qmp-commands.hx > index 56c4d8b..24ada04 100644 > --- a/qmp-commands.hx > +++ b/qmp-commands.hx > @@ -503,6 +503,41 @@ EQMP > }, > > SQMP > +spice_migrate_info > +------------------ > + > +Set the spice connection info for the migration target. The spice > +server will ask the spice client to automatically reconnect using the > +new parameters (if specified) once the vm migration finished > +successfully. > + > +Arguments: > + > +- "hostname": migration target hostname (json-string) > +- "port": spice tcp port for plaintext channels (json-int, optional) > +- "tls-port": spice tcp port for tls-secured channels (json-int, > optional) > +- "cert-subject": server certificate subject (json-string, optional) > + > +Example: > + > +-> { "execute": "spice_migrate_info", > + "arguments": { "hostname": "virt42.lab.kraxel.org", "port": 1234 } } > +<- { "return": {} } I'm wondering whether we should make this command more generic, because I could likely write up a VNC extension that provides the same functionality that SPICE has here. so, 'graphics_migrate_info @var{spice|vnc|...} ...other vars..' Regards, Daniel