[pve-devel] [PATCH qemu-server master v2 1/4] migration: tell users to upgrade if nets-host-mtu is not supported
Fiona Ebner
f.ebner at proxmox.com
Tue Sep 9 11:16:57 CEST 2025
In Proxmox VE 9, the default behavior for VirtIO network devices is to
inherit the MTU from the bridge. This means that most migrations are
potentially problematic when the nets-host-mtu parameter is not set,
see commit 20c91f7f ("migration: preserve host_mtu for virtio-net
devices"). While setting the parameter could be avoided in some cases,
the information what MTU the target node bridges have is not readily
available. Upgrading is already required to avoid actual problematic
cases, so just tell people to upgrade when the target does not support
preserving the VirtIO-net MTU yet in all cases.
Suggested-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
src/PVE/QemuMigrate.pm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/PVE/QemuMigrate.pm b/src/PVE/QemuMigrate.pm
index 4381b542..8fbabdfa 100644
--- a/src/PVE/QemuMigrate.pm
+++ b/src/PVE/QemuMigrate.pm
@@ -1053,6 +1053,7 @@ sub phase2_start_local_cluster {
};
my $target_replicated_volumes = {};
+ my $target_nets_host_mtu_not_supported;
# Note: We try to keep $spice_ticket secret (do not pass via command line parameter)
# instead we pipe it through STDIN
@@ -1110,11 +1111,16 @@ sub phase2_start_local_cluster {
},
errfunc => sub {
my $line = shift;
+ $target_nets_host_mtu_not_supported = 1
+ if $line =~ m/^Unknown option: nets-host-mtu/;
$self->log('info', "[$self->{node}] $line");
},
noerr => 1,
);
+ die "node $self->{node} is too old for preserving VirtIO-net MTU, please upgrade\n"
+ if $target_nets_host_mtu_not_supported;
+
die "remote command failed with exit code $exitcode\n" if $exitcode;
die "unable to detect remote migration address\n"
--
2.47.2
More information about the pve-devel
mailing list