Skip to content

Instantly share code, notes, and snippets.

@FlorianHeigl
Created November 4, 2025 21:33
Show Gist options
  • Select an option

  • Save FlorianHeigl/a7b307e666fd471981f5d2e823f12cf4 to your computer and use it in GitHub Desktop.

Select an option

Save FlorianHeigl/a7b307e666fd471981f5d2e823f12cf4 to your computer and use it in GitHub Desktop.
X10SSL-F SR-IOV

Hi, i had the same issue on Alpine Linux with an Supermicro X10SLL-F. CPU is a Xeon E3-1270 V3 (a QS actually) Using that parameter worked for me!

x10:~# cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-lts root=UUID=zzzz ro modules=sd-mod,usb-storage,ext4 quiet modules=sd-mod,usb-storage,ext4 quiet intel_iommu=on iommu=pti pci=realloc,assign-busses rootfstype=ext4

Intel NIC is

02:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
02:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

I'll include all NICs below for better understanding.

  • Mellanox ConnectX-3 EN needed pti+realloc,
  • Intel X540 needed assign-busses
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
02:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
03:10.0 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.1 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.2 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.3 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.4 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.5 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.6 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:10.7 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.0 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.1 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.2 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.3 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.4 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.5 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.6 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
03:11.7 Ethernet controller: Intel Corporation X540 Ethernet Controller Virtual Function (rev 01)
06:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
07:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
07:00.1 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:00.2 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:00.3 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:00.4 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:00.5 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:00.6 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:00.7 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.1 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.2 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.3 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.4 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.5 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.6 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:01.7 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
07:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]



x10:/etc/modprobe.d# cat mlx4.conf 
#blacklist mlx4_core
#blacklist mlx4_en
blacklist mlx5_core
blacklist mlx5_ib

options mlx4_core debug_level=1 num_vfs=8,8,0 probe_vf=8,8,0 
options mlx4_core enable_sys_tune=1

options mlx4_en inline_thold=0
options mlx4_core log_num_mgm_entry_size=-7

# Enable per priority flow control for send and receive, setting both priority
# 1 and 2 as no drop priorities
#options mlx4_en pfctx=3 pfcrx=3
x10:/etc/modprobe.d# cat mlx4.conf ixgbe.conf 
#blacklist mlx4_core
#blacklist mlx4_en
blacklist mlx5_core
blacklist mlx5_ib

options mlx4_core debug_level=1 num_vfs=8,8,0 probe_vf=8,8,0 
options mlx4_core enable_sys_tune=1

options mlx4_en inline_thold=0
options mlx4_core log_num_mgm_entry_size=-7

# Enable per priority flow control for send and receive, setting both priority
# 1 and 2 as no drop priorities
#options mlx4_en pfctx=3 pfcrx=3
# deprecated
#options ixgbe max_vfs=16

This is the first time I got this f*****ing stuff to work in half a decade, and the last time was a disaster anyway (very old Mellanox ConnectX2 or X3 that totally trashed performance when VF were active)

@FlorianHeigl
Copy link
Author

intel gets enabled via sysfs, adding tomorrow I lost it here
echo num > /sys/class/net/ethXXX/device/sriov_numvfs I think

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment