net.ifnames=1 unsupported in 5.15.83-1-pve?

dlasher

Renowned Member
Mar 23, 2011
235
26
93
used to hate ifnames, trying to get over it.

Migrating 100% functional hosts, which had "net.ifnames=0" in grub, and 70-persistent-net-rules set up. Removed both things, updated init, and they stubbornly refuse to rename to enp* style names, after multiple reboots.

set up explicit LINK files in /etc/systemd/network --- still eth0/eth1/etc.

10-enp7s0f0-mb0.link
Code:
[Match]
OriginalName=*
Path=pci-0000:07:00.0
#MACAddress=00:25:90:2e:xx:xx

[Link]
Description=MB.ETH0
NamePolicy=onboard
Name=enp7s0f0

ask udevadm - it says the RIGHT thing, but wrong interfaces still exist:

Code:
# udevadm  info /sys/class/net/eth1
P: /devices/pci0000:00/0000:00:04.0/0000:07:00.0/net/eth1
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:04.0/0000:07:00.0/net/eth1
E: INTERFACE=eth1
E: IFINDEX=3
E: SUBSYSTEM=net
E: USEC_INITIALIZED=13821288
E: ID_NET_NAMING_SCHEME=v247
E: ID_NET_NAME_MAC=enx0025902exxxx
E: ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
E: ID_NET_NAME_PATH=enp7s0f0
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0x10c9
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=82576 Gigabit Network Connection
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eth1
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:

Is there some proxmox boot time database I'm unaware of? cannot get the stupid machine to let go!!!

How in the world do I get the netnames back?




Code:
pveversion -v
proxmox-ve: 7.3-1 (running kernel: 5.15.83-1-pve)
pve-manager: 7.3-4 (running version: 7.3-4/d69b70d4)
pve-kernel-5.15: 7.3-1
pve-kernel-helper: 7.3-1
pve-kernel-5.15.83-1-pve: 5.15.83-1
pve-kernel-5.15.53-1-pve: 5.15.53-1
pve-kernel-5.15.39-3-pve: 5.15.39-3
ceph: 16.2.9-pve1
ceph-fuse: 16.2.9-pve1
corosync: 3.1.7-pve1
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown: 0.8.36+pve2
ifupdown2: residual config
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.24-pve2
libproxmox-acme-perl: 1.4.3
libproxmox-backup-qemu0: 1.3.1-1
libpve-access-control: 7.3-1
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.3-1
libpve-guest-common-perl: 4.2-3
libpve-http-server-perl: 4.1-5
libpve-storage-perl: 7.3-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 5.0.0-3
lxcfs: 4.0.12-pve1
novnc-pve: 1.3.0-3
proxmox-backup-client: 2.3.2-1
proxmox-backup-file-restore: 2.3.2-1
proxmox-mini-journalreader: 1.3-1
proxmox-offline-mirror-helper: 0.5.0-1
proxmox-widget-toolkit: 3.5.3
pve-cluster: 7.3-1
pve-container: 4.4-2
pve-docs: 7.3-1
pve-edk2-firmware: 3.20220526-1
pve-firewall: 4.2-7
pve-firmware: 3.6-2
pve-ha-manager: 3.5.1
pve-i18n: 2.8-1
pve-qemu-kvm: 7.1.0-4
pve-xtermjs: 4.16.0-1
qemu-server: 7.3-2
smartmontools: 7.2-pve3
spiceterm: 3.2-2
swtpm: 0.8.0~bpo11+2
vncterm: 1.7-1
zfsutils-linux: 2.1.7-pve2
 
Last edited:
Found this too - removing and rebooting:

Code:
/lib/systemd/network# more 99-default.link
#  SPDX-License-Identifier: LGPL-2.1-or-later
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path
MACAddressPolicy=persistent
 
No love so far.

Code:
[   13.758120] ixgbe 0000:09:00.1 eth12: renamed from eth2
[   13.780906] ixgbe 0000:09:00.0 eth11: renamed from eth0
[   13.812475] igb 0000:07:00.1 eth2: renamed from eth3
 
On a good path, getting closer to where I want to be.

Problem 1 (not pmx's fault)
* had a boot drive (zfs mirror) fail - missed a step in the cloning, so while pmx was BOOTING off a drive, it was only writing grub changes to the OTHER drive. This made me chase my tail for hours on why changes weren't taking effect.

Problem 2
* ifupdown and ifupdown2 are not the same. Ifupdown2 deals with ifnetnames/open-vswitch correctly. ifupdown1 doesn't. - OVS install doesn't require ifupdown2 but is non-functional without it.
(( fair warning - when you install ifupdown2, it restarts networking for you, whether you want to or not! ))
 
Finally in the home stretch, automatic setting not working, but able to force it to act the right way by creating links for each interface, and letting systemd handle it.

Code:
# more /etc/systemd/network/10-enp7s0f0-mb0.link
[Match]
OriginalName=*
Path=pci-0000:07:00.0

[Link]
Description=MB.LEFT
NamePolicy=path
Name=enp7s0f0

and

Code:
# more /etc/systemd/network/10-enp7s0f1-mb1.link
[Match]
OriginalName=*
Path=pci-0000:07:00.1

[Link]
Description=MB.RIGHT
NamePolicy=path
Name=enp7s0f1

etc etc.
 
The root problem here appears to have been that I *ever* overrode netnames, because ever after, it wants to use existing or db, as the 99-default.link file indicates.

Code:
NamePolicy=keep kernel database onboard slot path
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!