The SRIOV Configuration Advanced parameters, as shown in the following figure, are described in this section.
- General SRIOV Config
- This value specifies the offset of the first PF with at least one enabled VF. The total number of VF in all PFs plus this field must not be greater than 256.
- Number of PFx VFs
- Indicates the number of virtual functions associated to the physical function. A total of 252 virtual functions are available that can be flexibly used across the four physical functions. Number of VFs for any enabled PF cannot be 0.
- First VF Offset
- Indicates the offset of the first virtual function (VF) for the
physical function (PF). PFx offset is always fixed. PF0 resides at offset 0, PF1
resides at offset 1, PF2 resides at offset 2, and PF3 resides at offset 3.
A total of 252 virtual functions are available. They reside at the function number range 4 to 255.
First VF offset always start from 4.
Virtual functions are mapped sequentially with VFs with PFs taking precedence. For example, if PF0 has two virtual functions and PF1 has three, the following mapping occurs:
The PFx_FIRST_VF_OFFSET is calculated by taking the first offset of the virtual function and subtracting that from the offset of the physical function.
PFx_FIRST_VF_OFFSET = (PFx first VF offset - PFx offset)
In the example above, the following offsets are used:
PF0_FIRST_VF_OFFSET = (4 - 0) = 4 PF1_FIRST_VF_OFFSET = (6 - 1) = 5
The initial offset for PF1 is a function of how many VFs are attached to PF0 and is defined in the following pseudo code:
PF1_FIRST_VF_OFFSET = FIRST_VF_OFFSET + NUM_PF0_VFs - 1
Similarly, for other PFs:
PF2_FIRST_VF_OFFSET = FIRST_VF_OFFSET + NUM_PF0_VFs + NUM_PF1_VFs - 2 PF3_FIRST_VF_OFFSET = FIRST_VF_OFFSET + NUM_PF0_VFs + NUM_PF1_VFs + NUM_PF2_VFs - 3
- VF Device ID
- Indicates the 16-bit Device ID for all virtual functions associated with the physical function.