wrong mtu after upgrade to 9

Tobbe

Member
Oct 4, 2021
25
8
8
i recently upgraded my 4 mode proxmox cluster from 8 to 9.
after a while i ran into some odd problems and after some troubleshooting it turns out the interface of one node did not get the correct mtu applied (i got one network with jumbo frames)
resulting in one node with mtu of 1500 and the rest 9000

looking at the system log an greping for mtu i have one line:
/usr/sbin/ifup[1386]: warning: error while writing to file /sys/class/net/enp3s0f0/mtu: [Errno 2] No such file or directory: '/sys/class/net/enp3s0f0/mtu'

it turns out this interface is now called ens6f0 and not enp3s0f0 and proxmox was able to realize the names had changed and applied all other things except for the updated mtu.
this is why i didn't realize the problem at first.

so looks like something in proxmox when it applies the network settings related to mtu is not aware of the alternate interface names.

to me this looks like a bug.
the fix for me is easy, i can just edit /etc/network/interfaces and change the interface name and reboot
 
  • Like
Reactions: UdoB
Could you post your /etc/network/interfaces ?
 
if new kernel have changed interface name, the mtu from /etc/network/interfaces can't applied, as it's still defined on old name interface.
(thanks systemd for the name change after each kernel update)

pve9 have the new network interface pining to avoid this problem.
It might still be interesting to see the /etc/network/interfaces. ifupdown2 in PVE has been patched to support altnames, so there might be a bug (depending on how the MTU is set in the ifupdown2 configuration).
 
It might still be interesting to see the /etc/network/interfaces. ifupdown2 in PVE has been patched to support altnames, so there might be a bug (depending on how the MTU is set in the ifupdown2 configuration).

see below for the relevant part of interfaces.
i included only the interfaces for the nic affected by this.
this is the broken config, the fix was replacing enp3s0f0 with ens6f0 and enp3s0f1 with ens6f1 plus a reboot and it was solved.

the interface that had the wrong mtu was enp3s0f0, the rest was fine.

Code:
<cut>
auto enp3s0f0
iface enp3s0f0 inet static
    address 192.168.X.Y/24
    gateway 192.168.X.254
    mtu 9000

iface enp3s0f0 inet6 static
    address fd6e:a27e:1826:5::2d/64
    gateway fd6e:a27e:1826:5::1

iface enp3s0f1 inet manual
    mtu 9000
    bridge-allow-untagged no

auto vmbr0
iface vmbr0 inet manual
    bridge-ports enp3s0f1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 1-4094
    mtu 9000
<cut>
 
Can you post the output of ip a as well? Would be interesting to see if ens6f0 still has enp3s0f0 as altname. Because then there is probably an error in the logic of ifupdown2 that sets the MTU, where altnames do not yet get resolved.


edit: a colleague already checked, and it seems he has found the likely cause - ip a output for confirmation would still be interesting!
 
Last edited:
Can you post the output of ip a as well? Would be interesting to see if ens6f0 still has enp3s0f0 as altname. Because then there is probably an error in the logic of ifupdown2 that sets the MTU, where altnames do not yet get resolved.


edit: a colleague already checked, and it seems he has found the likely cause - ip a output for confirmation would still be interesting!
interface ens6f0 got 2 altnames, one enp3s0f0 and one enx followed by mac