+The ``vfio-pci`` module since Linux version 5.7 supports the creation of virtual
+functions. After the PF is bound to vfio-pci module, the user can create the VFs
+by sysfs interface, and these VFs are bound to vfio-pci module automatically.
+
+When the PF is bound to vfio-pci, it has initial VF token generated by random. For
+security reason, this token is write only, the user can't read it from the kernel
+directly. To access the VF, the user needs to start the PF with token parameter to
+setup a VF token in UUID format, then the VF can be accessed with this new token.
+
+Since the ``vfio-pci`` module uses the VF token as internal data to provide the
+collaboration between SR-IOV PF and VFs, so DPDK can use the same VF token for all
+PF devices which bound to one application. This VF token can be specified by the EAL
+parameter ``--vfio-vf-token``.
+
+.. code-block:: console
+
+ 1. Generate the VF token by uuid command
+ 14d63f20-8445-11ea-8900-1f9ce7d5650d
+
+ 2. sudo modprobe vfio-pci enable_sriov=1
+
+ 2. ./usertools/dpdk-devbind.py -b vfio-pci 0000:86:00.0
+
+ 3. echo 2 > /sys/bus/pci/devices/0000:86:00.0/sriov_numvfs
+
+ 4. Start the PF:
+ ./x86_64-native-linux-gcc/app/testpmd -l 22-25 -n 4 -w 86:00.0 \
+ --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=pf -- -i
+
+ 5. Start the VF:
+ ./x86_64-native-linux-gcc/app/testpmd -l 26-29 -n 4 -w 86:02.0 \
+ --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d --file-prefix=vf0 -- -i
+