Set virtual function to inherit physical function link state in ESXi


I have a Mellanox ConnectX6 Dx in a server running ESXi 7.0.3.

SRIOV is enabled on both ports and have 32 virtual functions each.

The VMs are running RHEL8 and are presented with 2 X SRIOV passthrough adapters (VFs) from opposite physical functions, that are bonded in an active/active configuration. The Physical Functions (vmnics) are also in an active/active configuration on the vSwitch and the upstream switch has a staic port-channel.

I then decided to test failover by bringing down one of the upstream switchports. This brought the connected physical function (vmnic) down but the virtual functions on the OS remain up. this causes intermittent connectivity issues as the OS continues trying to send traffic over a virtual function that is up, but it’s physical function is down.

It seems possible in Linux to set the VF to inherit the PF link state by using the ‘ip link set’ commands. However, these aren’t available in ESXi. I have raised a support ticket with VMWare to see if there are other similar options available on esxcli.

Is there a way of doing the using the mlx utilities I have installed on ESXi?

Note, I have also tested the same with an Intel E810 and Cisco VIC 1457, both of which virtual functions DO inherit the physical function link state in the OS.

Any help is appreciated.


Hello michael.magill,

Thank you for posting your inquiry on the NVIDIA Developer Forum - Infrastructure and Networking - Section.

You are correct that you can change the behavior of the VF to have it inherit the PF link state. Unfortunately on ESXi this is not possible.

We would recommend to reach out to ESXi if this is on a future roadmap.

Thank you and regards,
~NVIDIA Networking Technical Support

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.