[pve-devel] [PATCH qemu-server master+stable-bookworm] migration: check if target supports nets-host-mtu parameter up front

Fiona Ebner f.ebner at proxmox.com
Mon Sep 8 15:47:39 CEST 2025


Avoid blocking backwards migration to nodes that do not support the
new 'nets-host-mtu' parameter yet for local cluster migrations.

Suggested-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
 src/PVE/QemuMigrate.pm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/PVE/QemuMigrate.pm b/src/PVE/QemuMigrate.pm
index 4381b542..f01c7907 100644
--- a/src/PVE/QemuMigrate.pm
+++ b/src/PVE/QemuMigrate.pm
@@ -958,6 +958,18 @@ sub phase1_cleanup {
     }
 }
 
+my sub target_supports_nets_host_mtu {
+    my ($self, $forcemachine) = @_;
+
+    return 1 if PVE::QemuServer::Machine::is_machine_version_at_least($forcemachine, 10, 0, 1);
+
+    my $cmd = [$self->{rem_ssh}->@*, 'qm', 'start', 0, '--nets-host-mtu'];
+
+    my $err = '';
+    eval { PVE::Tools::run_command($cmd, outfunc => sub { }, errfunc => sub { $err .= shift }) };
+    return $err =~ m/^Unknown option: nets-host-mtu/ ? 0 : 1;
+}
+
 sub phase2_start_local_cluster {
     my ($self, $vmid, $params) = @_;
 
@@ -998,7 +1010,7 @@ sub phase2_start_local_cluster {
         push @$cmd, '--force-cpu', $start->{forcecpu};
     }
 
-    if ($start->{'nets-host-mtu'}) {
+    if ($start->{'nets-host-mtu'} && target_supports_nets_host_mtu($self, $start->{forcemachine})) {
         push @$cmd, '--nets-host-mtu', $start->{'nets-host-mtu'};
     }
 
-- 
2.47.2





More information about the pve-devel mailing list