By admin

With 6 Gigabit and 2 10G SFP interfaces available on the VEP1445 (and other VEP1400x or Edge 620-680 series), the default interface assignment of debian or proxmox is sometimes not the most convenient.

For reference the interfaces are assigned as follows on my latest Proxmox 9.0 installation

Interface name Alt name Backplane label Hardware PCIE Notes
eno3 enp2s0f0 GBE3 i350 02:00.0  
eno4 enp2s0f1 GBE4 i350 02:00.1  
eno1 enp2s0f2 GBE1 i350 02:00.2  
eno2 enp2s0f3 GBE2 i350 02:00.3  
eno8 enp5s0f0 SFP2 X553 05:00.0 Denverton integrated 10G
eno7 enp5s0f1 SFP1 X553 05:00.1 Denverton integrated 10G
eno6 enp7s0f0 GBE6 X553 07:00.0 Denverton integrated 10G, 1G PHY
eno5 enp7s0f1 GBE5 X553 07:00.1 Denverton integrated 10G, 1G PHY

GBE1-4 are provided by an i350 gigabit card, and GBE5 and GBE6 are a bit of the odd-ball here, as the C3758 supports 4 10G links, but these two are connected to a 1G PHY and cannot be used at higher speeds. Since the CPU is not extremely powerful, this is good enough for most edge nodes use cases.

All of these interfaces support SR-IOV out of the box:

02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
02:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
02:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
02:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
05:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
05:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 10 GbE SFP+ (rev 11)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
07:00.0 Ethernet controller: Intel Corporation Ethernet Connection X553 1GbE (rev 11)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
07:00.1 Ethernet controller: Intel Corporation Ethernet Connection X553 1GbE (rev 11)
	Capabilities: [160] Single Root I/O Virtualization (SR-IOV)

(on a side note, the QAT device at 01:00.0 also supports SR-IOV, which should become handy in the future)

Since my hardware stack is quite heterogeneous, I prefer having interfaces that match as much as possible what is written on the IO shield, or at least reflects the different physical interfaces. This was done through some udev rules back in the past, but since proxmox 9.0, at nice utility is available, pve-network-interface-pinning.

On an existing proxmox installation, the following must be run for each interface requiring pinning.

# pve-network-interface-pinning generate --interface eno3 --target-name gbe3
This will generate name pinning configuration for the interface 'eno3' - continue (y/N)? 
y
Name for link 'eno3' (enp2s0f0, enx------------) will change to 'gbe3'
Generating link files
Successfully generated .link files in '/usr/local/lib/systemd/network/'
Updating /etc/pve/nodes/proxmox/host.fw.new
Updating /etc/network/interfaces.new
Updating /etc/pve/sdn/controllers.cfg
Updating /etc/pve/sdn/fabrics.cfg
Successfully updated Proxmox VE configuration files.

Please reboot to apply the changes to your configuration

This script will also take care of modifying the relevant proxmox network files. Simply reboot and voilĂ .