Hello All,
I have installed DPDK 2.0 on a Virtual machine which launched by using openstack. But I could not bind the NIC to DPDK. The below are steps which I tried *1. **dpdk_nic_bind.py –s* ubuntu@mysite-vpgwu-slice1-25:~/dpdk-2.0.0/tools$ ./dpdk_nic_bind.py --s Network devices using DPDK-compatible driver ============================================ <none> Network devices using kernel driver =================================== 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused= 0000:00:04.0 'Virtio network device' if= drv=virtio-pci unused= 0000:00:05.0 'Virtio network device' if= drv=virtio-pci unused= 0000:00:06.0 'Virtio network device' if= drv=virtio-pci unused= 0000:00:07.0 'Virtio network device' if= drv=virtio-pci unused= Other network devices ===================== <none> *2. **./setup.sh ( for loading VFIO Module)* ---------------------------------------------------------- Step 2: Setup linuxapp environment ---------------------------------------------------------- [12] Insert IGB UIO module [13] Insert VFIO module [14] Insert KNI module [15] Setup hugepage mappings for non-NUMA systems [16] Setup hugepage mappings for NUMA systems [17] Display current Ethernet device settings [18] Bind Ethernet device to IGB UIO module [19] Bind Ethernet device to VFIO module [20] Setup VFIO permissions ---------------------------------------------------------- Step 3: Run test application for linuxapp environment ---------------------------------------------------------- [21] Run test application ($RTE_TARGET/app/test) [22] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd) ---------------------------------------------------------- Step 4: Other tools ---------------------------------------------------------- [23] List hugepage info from /proc/meminfo ---------------------------------------------------------- Step 5: Uninstall and system cleanup ---------------------------------------------------------- [24] Uninstall all targets [25] Unbind NICs from IGB UIO or VFIO driver [26] Remove IGB UIO module [27] Remove VFIO module [28] Remove KNI module [29] Remove hugepage mappings [30] Exit Script Option: 13 Unloading any existing VFIO module Loading VFIO module chmod /dev/vfio OK 3. *./setup.sh ( for setting hugepage)* ---------------------------------------------------------- Step 2: Setup linuxapp environment ---------------------------------------------------------- [12] Insert IGB UIO module [13] Insert VFIO module [14] Insert KNI module [15] Setup hugepage mappings for non-NUMA systems [16] Setup hugepage mappings for NUMA systems [17] Display current Ethernet device settings [18] Bind Ethernet device to IGB UIO module [19] Bind Ethernet device to VFIO module [20] Setup VFIO permissions ---------------------------------------------------------- Step 3: Run test application for linuxapp environment ---------------------------------------------------------- [21] Run test application ($RTE_TARGET/app/test) [22] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd) ---------------------------------------------------------- Step 4: Other tools ---------------------------------------------------------- [23] List hugepage info from /proc/meminfo ---------------------------------------------------------- Step 5: Uninstall and system cleanup ---------------------------------------------------------- [24] Uninstall all targets [25] Unbind NICs from IGB UIO or VFIO driver [26] Remove IGB UIO module [27] Remove VFIO module [28] Remove KNI module [29] Remove hugepage mappings [30] Exit Script Option: 15 Removing currently reserved hugepages Unmounting /mnt/huge and removing directory Input the number of 2MB pages Example: to have 128MB of hugepages available, enter '64' to reserve 64 * 2MB pages Number of pages: 64 Reserving hugepages Creating /mnt/huge and mounting as hugetlbfs *4. **dpdk_nic_bind.py –s* ubuntu@mysite-vpgwu-slice1-25:~/dpdk-2.0.0/tools$ ./dpdk_nic_bind.py --s Network devices using DPDK-compatible driver ============================================ <none> Network devices using kernel driver =================================== 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:04.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:05.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:06.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:07.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci Other network devices ===================== <none> *5. **binding a Virtual NIC to DPDK* ---------------------------------------------------------- Step 2: Setup linuxapp environment ---------------------------------------------------------- [12] Insert IGB UIO module [13] Insert VFIO module [14] Insert KNI module [15] Setup hugepage mappings for non-NUMA systems [16] Setup hugepage mappings for NUMA systems [17] Display current Ethernet device settings [18] Bind Ethernet device to IGB UIO module [19] Bind Ethernet device to VFIO module [20] Setup VFIO permissions ---------------------------------------------------------- Step 3: Run test application for linuxapp environment ---------------------------------------------------------- [21] Run test application ($RTE_TARGET/app/test) [22] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd) ---------------------------------------------------------- Step 4: Other tools ---------------------------------------------------------- [23] List hugepage info from /proc/meminfo ---------------------------------------------------------- Step 5: Uninstall and system cleanup ---------------------------------------------------------- [24] Uninstall all targets [25] Unbind NICs from IGB UIO or VFIO driver [26] Remove IGB UIO module [27] Remove VFIO module [28] Remove KNI module [29] Remove hugepage mappings [30] Exit Script Option: 19 Network devices using DPDK-compatible driver ============================================ <none> Network devices using kernel driver =================================== 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:04.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:05.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:06.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci 0000:00:07.0 'Virtio network device' if= drv=virtio-pci unused=vfio-pci Other network devices ===================== <none> Enter PCI address of device to bind to VFIO driver: 0000:00:03.0 Error: bind failed for 0000:00:03.0 - Cannot bind to driver vfio-pci Error: unbind failed for 0000:00:03.0 - Cannot open /sys/bus/pci/drivers//unbind Any inputs to resolve this issue. Regards, Ranjith
