BlueField SR-IOV

NVIDIA BlueField DPU BSP v4.7.0

The 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:

Copy
Copied!
            

mlxconfig -d 03:00.0 -y s PF_NUM_OF_VF_VALID=1

Note

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:

  1. In the BlueField, issue the following commands to configure 32 VFs per port:

    Copy
    Copied!
                

    dpu> mlxconfig -d 03:00.0 -y s PF_NUM_OF_VF=32 dpu> mlxconfig -d 03:00.1 -y s PF_NUM_OF_VF=32

    Note

    The BlueField ECPF driver in the BlueField's Arm OS limits the number of VFs it supports to 32 per port.

  2. In the host OS, issue the following commands to configure up to 126 VFs per port:

    Copy
    Copied!
                

    host> mlxconfig -d 03:00.0 -y s PF_NUM_OF_VF=126 host> mlxconfig -d 03:00.1 -y s PF_NUM_OF_VF=126

  3. Perform a BlueField system reboot for the mlxconfig settings to take effect.

  4. Create ECPF VFs:

    Copy
    Copied!
                

    echo 1 > /sys/class/net/p0/device/sriov_numvfs

Note

BlueField SR-IOV VFs do not support the following legacy SRIOV functionalities:

  • Virtual switch tagging (VF VLAN)

  • Spoof check

  • VF trust

  • VF rate

© Copyright 2024, NVIDIA. Last updated on May 9, 2024.