From 9a27da19fd91cc92d445b94b49dad353842b5666 Mon Sep 17 00:00:00 2001
From: eillon <1377437556@qq.com>
Date: Thu, 15 Aug 2024 10:12:00 +0800
Subject: [PATCH] migration: support 'urma' protocol header type
Support a new network communication protocol type 'urma'.
After this patch, we can do migration as this:
virsh migrate --migrateuri urma://IP
Signed-off-by: eillon <yezhenyu2@huawei.com>
src/qemu/qemu_migration.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
@@ -2229,6 +2229,8 @@ qemuMigrationDstCheckProtocol(virQEMUCaps *qemuCaps,
return -1;
}
} else if (!STRPREFIX(migrateFrom, "tcp") &&
+ !STRPREFIX(migrateFrom, "hcom") &&
+ !STRPREFIX(migrateFrom, "urma") &&
!STRPREFIX(migrateFrom, "exec") &&
!STRPREFIX(migrateFrom, "fd") &&
!STRPREFIX(migrateFrom, "unix") &&
@@ -3790,6 +3792,8 @@ qemuMigrationDstPrepareDirect(virQEMUDriver *driver,
}
if (STRNEQ(uri->scheme, "tcp") &&
+ STRNEQ(uri->scheme, "hcom") &&
+ STRNEQ(uri->scheme, "urma") &&
STRNEQ(uri->scheme, "rdma") &&
STRNEQ(uri->scheme, "unix")) {
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED,
@@ -5206,7 +5210,10 @@ qemuMigrationSrcPerformNative(virQEMUDriver *driver,
/* RDMA and multi-fd migration requires QEMU to connect to the destination
* itself.
*/
- if (STREQ(uribits->scheme, "rdma") || (flags & VIR_MIGRATE_PARALLEL))
+ if (STREQ(uribits->scheme, "rdma") ||
+ STREQ(uribits->scheme, "hcom") ||
+ STREQ(uribits->scheme, "urma") ||
+ (flags & VIR_MIGRATE_PARALLEL))
spec.destType = MIGRATION_DEST_HOST;
else
spec.destType = MIGRATION_DEST_CONNECT_HOST;
--
2.51.0.windows.1