diff options
author | Chris Lalancette <clalance@redhat.com> | 2009-08-05 17:24:29 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-08-24 08:01:42 -0500 |
commit | 0cc5ba790657e7aa32da10b7181ffcc990634fd3 (patch) | |
tree | 33116b194215a2e693e732eb02aefd37fb373557 /migration.c | |
parent | 868c31557166b897101ff5056f39feaa5bfde95c (diff) | |
download | qemu-0cc5ba790657e7aa32da10b7181ffcc990634fd3.tar.gz qemu-0cc5ba790657e7aa32da10b7181ffcc990634fd3.tar.bz2 qemu-0cc5ba790657e7aa32da10b7181ffcc990634fd3.zip |
Migration via unix sockets.
Implement migration via unix sockets. While you can fake this using
exec and netcat, this involves forking another process and is
generally not very nice. By doing this directly in qemu, we can avoid
the copy through the external nc command. This is useful for
implementations (such as libvirt) that want to do "secure" migration;
we pipe the data on the sending side into the unix socket, libvirt
picks it up, encrypts it, and transports it, and then on the remote
side libvirt decrypts it, dumps it to another unix socket, and
feeds it into qemu.
The implementation is straightforward and looks very similar to
migration-exec.c and migration-tcp.c
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'migration.c')
-rw-r--r-- | migration.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/migration.c b/migration.c index ee64d410e1..34e2bc14c0 100644 --- a/migration.c +++ b/migration.c @@ -43,6 +43,8 @@ void qemu_start_incoming_migration(const char *uri) #if !defined(WIN32) else if (strstart(uri, "exec:", &p)) exec_start_incoming_migration(p); + else if (strstart(uri, "unix:", &p)) + unix_start_incoming_migration(p); #endif else fprintf(stderr, "unknown migration protocol: %s\n", uri); @@ -58,6 +60,8 @@ void do_migrate(Monitor *mon, int detach, const char *uri) #if !defined(WIN32) else if (strstart(uri, "exec:", &p)) s = exec_start_outgoing_migration(p, max_throttle, detach); + else if (strstart(uri, "unix:", &p)) + s = unix_start_outgoing_migration(p, max_throttle, detach); #endif else monitor_printf(mon, "unknown migration protocol: %s\n", uri); |