]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Add support for avail-switchover-bandwidth migration parameter
authorJiri Denemark <jdenemar@redhat.com>
Thu, 23 Jan 2025 09:26:09 +0000 (10:26 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 27 Jan 2025 15:32:57 +0000 (16:32 +0100)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_migration.h
src/qemu/qemu_migration_params.c
src/qemu/qemu_migration_params.h

index 4b7ef9688a9fa486a33080ef6cd60972d5463fd2..efe1b9e88adefc667eecb9826f6934e380e7d1ef 100644 (file)
@@ -92,6 +92,7 @@
     VIR_MIGRATE_PARAM_COMPRESSION_ZSTD_LEVEL, VIR_TYPED_PARAM_INT, \
     VIR_MIGRATE_PARAM_TLS_DESTINATION, VIR_TYPED_PARAM_STRING, \
     VIR_MIGRATE_PARAM_DISKS_URI,     VIR_TYPED_PARAM_STRING, \
+    VIR_MIGRATE_PARAM_BANDWIDTH_AVAIL_SWITCHOVER, VIR_TYPED_PARAM_ULLONG, \
     NULL
 
 
index 98822012cc99a7a3511fdd86fb701900fdae0fdf..c10660d6f266038800883e5c265430c2edc5cdd3 100644 (file)
@@ -128,6 +128,7 @@ VIR_ENUM_IMPL(qemuMigrationParam,
               "multifd-compression",
               "multifd-zlib-level",
               "multifd-zstd-level",
+              "avail-switchover-bandwidth",
 );
 
 typedef struct _qemuMigrationParamsAlwaysOnItem qemuMigrationParamsAlwaysOnItem;
@@ -266,6 +267,11 @@ static const qemuMigrationParamsTPMapItem qemuMigrationParamsTPMap[] = {
     {.typedParam = VIR_MIGRATE_PARAM_TLS_DESTINATION,
      .param = QEMU_MIGRATION_PARAM_TLS_HOSTNAME,
      .party = QEMU_MIGRATION_SOURCE},
+
+    {.typedParam = VIR_MIGRATE_PARAM_BANDWIDTH_AVAIL_SWITCHOVER,
+     .unit = 1024 * 1024, /* MiB/s */
+     .param = QEMU_MIGRATION_PARAM_AVAIL_SWITCHOVER_BANDWIDTH,
+     .party = QEMU_MIGRATION_SOURCE},
 };
 
 static const qemuMigrationParamInfoItem qemuMigrationParamInfo[] = {
@@ -318,6 +324,9 @@ static const qemuMigrationParamInfoItem qemuMigrationParamInfo[] = {
     [QEMU_MIGRATION_PARAM_MULTIFD_ZSTD_LEVEL] = {
         .type = QEMU_MIGRATION_PARAM_TYPE_INT,
     },
+    [QEMU_MIGRATION_PARAM_AVAIL_SWITCHOVER_BANDWIDTH] = {
+        .type = QEMU_MIGRATION_PARAM_TYPE_ULL,
+    },
 };
 G_STATIC_ASSERT(G_N_ELEMENTS(qemuMigrationParamInfo) == QEMU_MIGRATION_PARAM_LAST);
 
index df67f1fb92603adc9ef927924c3e32313c83f761..17fc63f527d8d10d36680ce050baa883d2394ebb 100644 (file)
@@ -64,6 +64,7 @@ typedef enum {
     QEMU_MIGRATION_PARAM_MULTIFD_COMPRESSION,
     QEMU_MIGRATION_PARAM_MULTIFD_ZLIB_LEVEL,
     QEMU_MIGRATION_PARAM_MULTIFD_ZSTD_LEVEL,
+    QEMU_MIGRATION_PARAM_AVAIL_SWITCHOVER_BANDWIDTH,
 
     QEMU_MIGRATION_PARAM_LAST
 } qemuMigrationParam;