使用Ubuntu20.04.2LTS和DPDK21.02并按照DPDK执行以下命令
sudo modprobe vfio-pci enable_sriov=1
dpdk-devbind.py --bind=vfio-pci 0000:02:00.0
echo 1 > /sys/bus/pci/devices/0000:02:00.0/sriov_numvfs但是试图创建一个VF,我有一个错误
alessio@ganimede:~$ sudo su
root@ganimede:/home/alessio# echo 1 > /sys/bus/pci/devices/0000:02:00.0/sriov_numvfs
bash: echo: write error: No such file or directory即使是这样
cd /sys/bus/pci/devices/0000:02:00.0
echo 1 > sriov_numvfs即使/sys/bus/pci/devices/0000:02:00.0/sriov_numvfs存在。注意:对于dmesg,我看到了这个错误。
[ 1071.155309] vfio-pci 0000:02:00.0: Driver does not support SRIOV configuration via sysfs如果我尝试不绑定vfio驱动程序,而只使用内核驱动程序(ixgbe),它就能工作。但是在我的过程中使用这些VF作为DPDK端口,它不起作用,我必须检查,但是似乎没有收到更多的数据包。
注意:没有VF,我的DPDK进程使用vfio驱动程序工作。
新信息:以这种方式工作!有一个错误,MAC是错误的,使用VF这个错误导致应用程序失败。因此,这个问题失去了它感兴趣的一部分,以这种方式工作,只是好奇地想知道为什么在DPDK文档上建议的过程不起作用。
这是一个主机操作系统,NIC信息是:
driver: ixgbe
version: 5.1.0-k
firmware-version: 0x800003e1cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-5.4.0-72-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro maybe-ubiquity default_hugepagesz=1G hugepagesz=1G hugepages=8 hugepagesz=2M hugepages=1024 intel_iommu=on iommu=pt isolcpus=2,3,4,5,6,7,8,9有什么想法吗?谢谢
发布于 2021-09-14 14:38:54
对于Intel (如82599 ),X522和其他VF (虚拟函数)端口可以从PF (物理函数)端口创建,当它与ixgbe或uio驱动程序(如igb_uio )绑定时。当将Admin队列配置为预留rx和tx队列并为VF端口配置参数时,需要PF驱动程序。
从ixgbe (内核) |igb_uio (dpdk)解除绑定将失去这样做的能力。一个映射到vfio-pci的基本函数和主机通过。因此,第一步的dpdk-devbind.py --bind=vfio-pci 0000:02:00.0,正在导致SRIOV函数的松散。
解决方案:请将设备绑定回内核ixgbe并创建VF。VF可以与vfio-pci绑定,以便PCIe通过或在用户空间上运行。
发布于 2021-09-22 03:19:01
我认为,这不再是普遍正确的。这说:“自从Linux5.7版本以来,vfio模块支持创建虚拟函数。”
https://stackoverflow.com/questions/67265282
复制相似问题