[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 24/26] migration: Add start-migrate-incoming QMP command
From: |
Dov Murik |
Subject: |
[RFC PATCH 24/26] migration: Add start-migrate-incoming QMP command |
Date: |
Tue, 2 Mar 2021 15:48:20 -0500 |
This command forces a running VM into a migrate-incoming state. When
using guest-assisted migration (for confidential guests), the target
must be started so that its auxiliary vcpu is running the migration
helper; after it is ready we can start receiving the incoming migration
connection.
Signed-off-by: Dov Murik <dovmurik@linux.vnet.ibm.com>
---
qapi/migration.json | 26 ++++++++++++++++++++++++++
migration/migration.c | 5 +++++
2 files changed, 31 insertions(+)
diff --git a/qapi/migration.json b/qapi/migration.json
index 6e5943fbb4..c7361e0038 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -1569,6 +1569,32 @@
##
{ 'command': 'migrate-incoming', 'data': {'uri': 'str' } }
+##
+# @start-migrate-incoming:
+#
+# Force start an incoming migration even in a running VM. This is used by the
+# target VM in guest-assisted migration of a confidential guest.
+#
+# @uri: The Uniform Resource Identifier identifying the source or
+# address to listen on
+#
+# Returns: nothing on success
+#
+# Since: 6.0
+#
+# Notes:
+#
+# The uri format is the same as the -incoming command-line option.
+#
+# Example:
+#
+# -> { "execute": "start-migrate-incoming",
+# "arguments": { "uri": "tcp::4446" } }
+# <- { "return": {} }
+#
+##
+{ 'command': 'start-migrate-incoming', 'data': {'uri': 'str' } }
+
##
# @xen-save-devices-state:
#
diff --git a/migration/migration.c b/migration/migration.c
index 7ec25bd006..4729b89bef 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2098,6 +2098,11 @@ void qmp_migrate_incoming(const char *uri, Error **errp)
once = false;
}
+void qmp_start_migrate_incoming(const char *uri, Error **errp)
+{
+ qemu_start_incoming_migration(uri, errp);
+}
+
void qmp_migrate_recover(const char *uri, Error **errp)
{
MigrationIncomingState *mis = migration_incoming_get_current();
--
2.20.1
- [RFC PATCH 13/26] migration: Add helpers to load confidential RAM, (continued)
- [RFC PATCH 13/26] migration: Add helpers to load confidential RAM, Dov Murik, 2021/03/02
- [RFC PATCH 07/26] cpu: Add boolean aux field to CPUState, Dov Murik, 2021/03/02
- [RFC PATCH 23/26] target/i386: Re-sync kvm-clock after confidential guest migration, Dov Murik, 2021/03/02
- [RFC PATCH 03/26] machine: Add auxcpus=N suboption to -smp, Dov Murik, 2021/03/02
- [RFC PATCH 09/26] softmmu: Don't sync aux vcpus in pre_loadvm, Dov Murik, 2021/03/02
- [RFC PATCH 19/26] migration: Don't sync vcpus when migrating confidential guests, Dov Murik, 2021/03/02
- [RFC PATCH 08/26] hw/i386: Set CPUState.aux=true for auxiliary vcpus, Dov Murik, 2021/03/02
- [RFC PATCH 14/26] migration: Introduce gpa_inside_migration_helper_shared_area, Dov Murik, 2021/03/02
- [RFC PATCH 18/26] migration: Stop non-aux vcpus before copying the last pages, Dov Murik, 2021/03/02
- [RFC PATCH 25/26] target/i386: SEV: Allow migration unless there are no aux vcpus, Dov Murik, 2021/03/02
- [RFC PATCH 24/26] migration: Add start-migrate-incoming QMP command,
Dov Murik <=
- [RFC PATCH 15/26] migration: Save confidential guest RAM using migration helper, Dov Murik, 2021/03/02
- [RFC PATCH 26/26] docs: Add confidential guest live migration documentation, Dov Murik, 2021/03/02
- [RFC PATCH 20/26] migration: When starting target, don't sync auxiliary vcpus, Dov Murik, 2021/03/02
- [RFC PATCH 05/26] hw/i386: Mark auxiliary vcpus in possible_cpus, Dov Murik, 2021/03/02
- [RFC PATCH 10/26] softmmu: Add cpu_synchronize_without_aux_post_init, Dov Murik, 2021/03/02
- [RFC PATCH 17/26] migration: Stop VM after loading confidential RAM, Dov Murik, 2021/03/02
- [RFC PATCH 22/26] hw/isa/lpc_ich9: Allow updating an already-running VM, Dov Murik, 2021/03/02
- [RFC PATCH 21/26] migration: Call migration handler cleanup routines, Dov Murik, 2021/03/02
- Re: [RFC PATCH 00/26] Confidential guest live migration, no-reply, 2021/03/02