Error -110 is kernel `-ETIMEDOUT`. 
The driver and firmware are fighting a race condition over 
`sriov_drivers_autoprobe` :)

The kernel auto-binds `mlx5_core` to VFs the instant they spawn, while
Netplan simultaneously tries to unbind them and switch devlink to
`switchdev`, choking the firmware semaphore.

Fix it by disabling autoprobe before allocating VFs:

echo 0 | sudo tee
/sys/class/net/<PF_IFACE>/device/sriov_drivers_autoprobe

Or via `/etc/udev/rules.d/99-mlx-sriov.rules`:

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="mlx5_core",
ATTR{device/sriov_drivers_autoprobe}="0"

Once autoprobe is off, devlink flips to switchdev cleanly and the rebind
service succeeds ;)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2166228

Title:
  Mellanox NIC is unable to enter switchdev mode

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2166228/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to