[pve-devel] [PATCH qemu-server master+stable-bookworm] migration: check if target supports nets-host-mtu parameter up front
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Sep 8 16:49:22 CEST 2025
Am 08.09.25 um 15:48 schrieb Fiona Ebner:
> Avoid blocking backwards migration to nodes that do not support the
> new 'nets-host-mtu' parameter yet for local cluster migrations.0
Please add a short rationale about the approach used to detect that.
Further, for 8.X <-> 8.Y this is now fine, but for 8.X to 9.Y (with 9.Y
being to old to know about the new parameter) it still can cause a VM
crash, or?
> 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'];
Could be nice to have a comment that this depends on the unknown parameter
error getting checked earlier compared to the fixed 0 parameter not being a
valid VMID.
> +
> + 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'};
> }
>
More information about the pve-devel
mailing list