BlueField SR-IOV
The NVIDIA® BlueField® SR-IOV solution is based on asymmetric VF and enables per-ECPF and per PF control over number of VF allocation .
ECPF VFs are intended to be used in switchdev mode. Like SFs and host VFs, ECPF VFs have a representor. Representor naming for ECPF VFs start after the host VFs. For example, if the host has 32 VFs enabled, then the host VF representors are named pf0vf0-pf0vf31, and the Arm representors continue at pf0vf32 onward.
To enable BlueField SR-IOV, apply the following configuration in the BlueField OS:
mlxconfig -d 03
:00.0
-y s PF_NUM_OF_VF_VALID=1
Once PF_NUM_OF_VF_VALID is set, the NUM_OF_VFS mlxconfig option is not relevant and the user must set PF_NUM_OF_VF for each host and EC function. It is recommended for the number of VFs for each ECPF and each host PF be the same.
The BlueField should now support setting asymmetric VF configuration per port.
The following are examples for configuring the number of VFs per port:
In the BlueField, issue the following commands to configure 32 VFs per port:
bf> mlxconfig -d
03
:00.0
-y s PF_NUM_OF_VF=32
bf> mlxconfig -d03
:00.1
-y s PF_NUM_OF_VF=32
NoteThe BlueField ECPF driver in the BlueField's Arm OS limits the number of VFs it supports to 32 per port.
In the host OS, issue the following commands to configure up to 126 VFs per port:
host> mlxconfig -d
03
:00.0
-y s PF_NUM_OF_VF=126
host> mlxconfig -d03
:00.1
-y s PF_NUM_OF_VF=126
Perform a BlueField system reboot for the mlxconfig settings to take effect.
Create ECPF VFs:
echo
1
> /sys/class
/net/p0/device/sriov_numvfs
BlueField SR-IOV VFs do not support the following legacy SRIOV functionalities:
Virtual switch tagging (VF VLAN)
Spoof check
VF trust
VF rate