<div dir="ltr"><div><div>Hi there,<br><br></div><div>I'm trying to achieve traffic splitting between the OS and a DPDK application.<br></div><div>I tried an XDP based solution but hit some problems with the zero copy support by the ixgbe driver.<br></div>Now I'm trying to setup this scenario on bare metal without any VM involved - <a href="https://doc.dpdk.org/guides/howto/flow_bifurcation.html">https://doc.dpdk.org/guides/howto/flow_bifurcation.html</a><br><br></div><div>The VFs are setup to use the vfio-pci driver<br>dpdk_devbind.py --status<br><br>Network devices using DPDK-compatible driver<br>============================================<br>0000:1b:10.0 '82599 Ethernet Controller Virtual Function 10ed' drv=vfio-pci unused=<br>0000:3b:10.0 '82599 Ethernet Controller Virtual Function 10ed' drv=vfio-pci unused=<br>0000:5e:10.0 '82599 Ethernet Controller Virtual Function 10ed' drv=vfio-pci unused=<br><br>Network devices using kernel driver<br>===================================<br>0000:1a:00.0 'Ethernet Connection X722 for 1GbE 37d1' if=eth6 drv=i40e unused=vfio-pci *Active*<br>0000:1a:00.1 'Ethernet Connection X722 for 1GbE 37d1' if=eth7 drv=i40e unused=vfio-pci <br>0000:1b:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' if=eth0 drv=ixgbe unused=vfio-pci <br>0000:1b:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' if=eth1 drv=ixgbe unused=vfio-pci <br>0000:3b:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' if=eth2 drv=ixgbe unused=vfio-pci <br>0000:3b:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' if=eth3 drv=ixgbe unused=vfio-pci <br>0000:5e:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' if=eth4 drv=ixgbe unused=vfio-pci <br>0000:5e:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' if=eth5 drv=ixgbe unused=vfio-pci<br><br></div><div>But then when I start the DPDK application I hit these errors<br><br>EAL: Detected CPU lcores: 48<br>EAL: Detected NUMA nodes: 2<br>EAL: Detected static linkage of DPDK<br>EAL: Selected IOVA mode 'PA'<br>EAL: No free 2048 kB hugepages reported on node 1<br>EAL: No free 1048576 kB hugepages reported on node 0<br>EAL: No free 1048576 kB hugepages reported on node 1<br>EAL: VFIO support initialized<br>EAL: Using IOMMU type 8 (No-IOMMU)<br>EAL: Probe PCI driver: net_ixgbe_vf (8086:10ed) device: 0000:1b:10.0 (socket 0)<br>eth_ixgbevf_dev_init(): VF Initialization Failure: -15<br>EAL: Releasing PCI mapped resource for 0000:1b:10.0<br>EAL: Calling pci_unmap_resource for 0000:1b:10.0 at 0x4201000000<br>EAL: Calling pci_unmap_resource for 0000:1b:10.0 at 0x4201004000<br>EAL: Requested device 0000:1b:10.0 cannot be used<br>EAL: Using IOMMU type 8 (No-IOMMU)<br>EAL: Probe PCI driver: net_ixgbe_vf (8086:10ed) device: 0000:3b:10.0 (socket 0)<br>eth_ixgbevf_dev_init(): VF Initialization Failure: -15<br>EAL: Releasing PCI mapped resource for 0000:3b:10.0<br>EAL: Calling pci_unmap_resource for 0000:3b:10.0 at 0x4201008000<br>EAL: Calling pci_unmap_resource for 0000:3b:10.0 at 0x420100c000<br>EAL: Requested device 0000:3b:10.0 cannot be used<br>EAL: Using IOMMU type 8 (No-IOMMU)<br>EAL: Probe PCI driver: net_ixgbe_vf (8086:10ed) device: 0000:5e:10.0 (socket 0)<br>eth_ixgbevf_dev_init(): VF Initialization Failure: -15<br><br></div><div>I searched through the source code and found that this error is: IXGBE_ERR_RESET_FAILED.<br></div><div> So, by some reason the reset of the VFs fails.<br><br></div><div>My questions are:<br></div><div>1. Can this whole scheme work or I'm trying something which is not supposed to work?<br></div><div>2. If the above is supposed to work, can you point me to some examples of how to set up the above or where I'm possibly doing something incorrectly?<br></div><div>3. The same application works correctly if it's given the physical devices on this server. Probably I need to modify something in the application?<br><br></div><div>Thanks,<br></div><div>Pavel.<br></div><div><br></div><br></div>