Visible to Intel only — GUID: ldh1628274019070
Ixiasoft
3.5.2.6.1. Build and Install Netdev Driver
3.5.2.6.2. Enable VFs if SRIOV is Supported
3.5.2.6.3. Configure the Number of Channels Supported on the Device
3.5.2.6.4. Configure the MTU Value
3.5.2.6.5. Configure the Device Communication
3.5.2.6.6. Configure Transmit Queue Selection Mechanism
3.5.2.6.7. Test Procedure by Using Name Space Environment
3.5.2.6.8. PIO Test
Visible to Intel only — GUID: ldh1628274019070
Ixiasoft
Follow the steps needed to create a guest environment and assign VF device to VM by using QEMU.
- Unbind the device from UIO driver:
$./dpdk-devbind.py -u <bdf>
- Install vfio-pci module.
$modprobe vfio-pci
- Bind the device to vfio-pci.
- In case the device is binded to ifc_uio, unbind with the following command:
$ echo "<bdf>" > /sys/bus/pci/devices/\ <bdf>/driver/unbind
For example:echo "0000:01:00.0" > /sys/bus/pci/devices/\ 0000\:01\:00.0/driver/unbind
- Bind the device to vfio-pci.
$ echo <bdf> > /sys/bus/pci/drivers/vfio-pci/bind
For example:echo "0000:01:00.1" > /sys/bus/pci/drivers/vfio-pci/bind
- In case the device is binded to ifc_uio, unbind with the following command:
- Use the following parameters to start the Guest VM (on Intel® machines, use qemu version 3.0.0-rc0). The minimum 8 GB memory needs to be allocated to VM.
$ qemu-3.0.0-rc0/x86_64-softmmu/qemu-system-x86_64\ -smp 2 -m 8192M -boot c -machine q35,kernel-irqchip=split -cpu host\ -enable-kvm -nographic -L /root/qemu-3.0.0-rc0/pc-bios -name offload1\ -hda <path_to_qcow2_file> -device vfio-pci,host=<bdf> -netdev\ type=tap,id=net6551,script=no,downscript=no,vhost=on,ifname=net6551\ -device virtio-net-pci,netdev=net6551 -device intel-iommu,intremap=on,\ caching-mode=on -serial telnet::5551,server,nowait -object memory-backend-file,\ id=mem,size=8192M,mem-path=/dev/hugepages,share=on -numa node,memdev=mem\ -mem-prealloc -monitor telnet::3331,server,nowait&
Note:- On AMD machines, the parameter -device intel-iommu,intremap=on,caching-mode=on is not required.
- If multiple devices are in the same group, check for ACS enablement in root port and bridge.
- Below are the Host and Guest VM configurations used for verification:
Table 36. Host System Configuration Host System Configuration Details Operating System CentOS Linux release 7.8 Linux Kernel 3.10.0-1127.10.1.el7.28.x86_64 CPU Cores 96 RAM 128 GB (64 GB on single NUMA) Hypervisor KVM Qemu Version QEMU version 3.0.0-rc0 Table 37. Guest System Configuration Guest System Configuration Details Operating System CentOS Linux release 7.8 Linux Kernel 3.10.0-1127.10.1.el7.28.x86_64 CPU Cores 2 RAM 8 GB