I’ve trying to get dpdk working with pcap++ framework but in the dpdk part I’m stuck.
I’ve been struggling with dpdk for a month now and I am very confused with everything about it.
I have an Ubuntu 20.04 running in my VMware® Workstation 17 Pro with 17.5.2 version.
inside it I’ve setup two network adapters by vmware both are vmnets which one is nat and the other is host-only.
after compilation of dpdk and setting it up I do the python3 dpdk-devbind.py -s
command to see the status and everything seems ok
=> this one is host only #
**0000:02:01.0 ‘82545EM Gigabit Ethernet Controller (Copper) 100f’ if=ens33 drv=e1000 unused= **
=> this one is nat #
0000:02:02.0 ‘82545EM Gigabit Ethernet Controller (Copper) 100f’ if=ens34 drv=e1000 unused= Active
by the way the nics specified as two adapters by vmware are supported by dpdk
so as dpdk doc in linux driver says we have to use vfio-pci kernel driver as general rule which most linux kernel system supports so I do these
sudo modprobe vfio-pci
modprobe vfio enable_unsafe_noiommu_mode=1
now when I use pcap++ setup_dpdk.py file and do this command
sudo python3 setup_dpdk.py setup -g 512 -i ens34 -r ~/dpdk/build/ -m vfio-pci
[INFO] set up hugepages to 512
[INFO] loaded kernel module 'vfio-pci'
[INFO] set interface 'ens34' down
[ERROR] Error: bind failed for 0000:02:02.0 - Cannot bind to driver vfio-pci
[ERROR] Error binding interface 'ens34'
[ERROR] restoring settings:
[INFO] removed hugepages
[INFO] restored interface 'ens34'
[WARNING] DPDK module not loaded
this probably means vfio probably not loaded correctly which I checked with this command
lsmod | grep vfio
vfio_pci 16384 0
vfio_pci_core 90112 1 vfio_pci
vfio_iommu_type1 49152 0
vfio 65536 3 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd 81920 1 vfio
irqbypass 12288 1 vfio_pci_core
which means it is loaded but I don’t know why it doesn’t bind with vfio_pci driver in the adapter
I use dpdk version 21.11 LTS and Pcap++ version 21.11
Sina is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.