SR-IOV Configuration
To set up SR-IOV, do the following:
- Download mstflint - # zypper install mstflint 
- Check the device’s PCI - lspci | grep Mellanox - Example: - 24:- 00.0Ethernet controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex]
- Check if SR-IOV is enabled in the in the firmware. - mstconfig -d <device pci> q - Example: - # mstconfig -d - 00:- 06.0q Device #- 1: Device type: ConnectX3Pro PCI device:- 00:- 06.0Configurations: Current SRIOV_EN True(- 1) NUM_OF_VFS- 8LINK_TYPE_P1 ETH(- 2) LINK_TYPE_P2 IB(- 1) LOG_BAR_SIZE- 3BOOT_PKEY_P1- 0BOOT_PKEY_P2- 0BOOT_OPTION_ROM_EN_P1 True(- 1) BOOT_VLAN_EN_P1 False(- 0) BOOT_RETRY_CNT_P1- 0LEGACY_BOOT_PROTOCOL_P1 PXE(- 1) BOOT_VLAN_P1- 1BOOT_OPTION_ROM_EN_P2 True(- 1) BOOT_VLAN_EN_P2 False(- 0) BOOT_RETRY_CNT_P2- 0LEGACY_BOOT_PROTOCOL_P2 PXE(- 1) BOOT_VLAN_P2- 1IP_VER_P1 IPv4(- 0) IP_VER_P2 IPv4(- 0)
- Enable SR-IOV: - mstconfig –d <device pci> s SRIOV_EN=<False|True> 
- Configure the needed number of VFs. - mstconfig –d <device pci> s NUM_OF_VFS=<NUM> Warning- This file will be generated only if IOMMU is set in grub configuration. (by adding “intel_iommu=on” to /etc/default/grub). 
- [mlx4 devices only] Edit the file /etc/modprobe.d/mlx4.conf: - options mlx4_core num_vfs=[needed num of VFs] port_type_array=[ - 1/- 2- Example: - options mlx4_core num_vfs= - 8port_type_array=- 1,- 1
- [mlx5 devices only] Write to the sysfs file the number of needed - echo [num_vfs] > /sys/ - class/infiniband/mlx5_0/device/sriov_numvfs
- Reboot the 
- Load the driver and verify that the VFs were - lspci | grep mellanox - Example: - 24:- 00.0Ethernet controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex]- 24:- 00.1Infiniband controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex]- 24:- 00.2Ethernet controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex Virtual Function]- 24:- 00.3Ethernet controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex Virtual Function]- 24:- 00.4Ethernet controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex Virtual Function]- 24:- 00.5Ethernet controller: Mellanox Technologies MT28800 Family [ConnectX-- 5Ex Virtual Function]
For further information, refer to section "Setting Up SR-IOV" in the MLNX_OFED User Manual.