Kindly note that SR-IOV protocol need to be enabled in 4 different places:
1. Firmware level - according to mlxconfig output it is enabled.
2. System BIOS - need to verify the "Virtualization Technology" option is enabled.
3. Operation System at grub.conf - we can see that "intel_iommu=on" exists
In Connect-IB you must also set FPP_EN=1
4. Driver - Set the desired number of VFs by invoking:
echo 4 > /sys/class/infiniband/mlx5_0/device/mlx5_num_vfs
5. The command to enable SRIOV support for ConnectX4 , Connect-IB and ConnectX-5 on an MLNX-OS based subnet manage is:
switch(config)# ib sm virt enable
In addition, if after applying the above settings you still encounter the same issue
I suggest reviewing the release notes of the latest OFED 4.3 : http://www.mellanox.com/related-docs/prod_software/Mellanox_OFED_Linux_Release_Notes_4_3-1_0_1_0.pdf
And check if there are known issues with SRIOV with older OFED versions , if yes please try and upgrade the OFED version accordingly and check if the issue resolved .
6. Try using the latest MFT 4.9.0-38 and try configuring FPP_EN.