I am trying to set up Flow Bifurcation. The idea is to have udp traffic from chosen address / port pairs handled by DPDK and the rest of the traffic going through the kernel network stack.
The system was booted with intel_iommu=on iommu=pt
.
I've created the VF using:
# echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/sriov_numvfs
dpdk-devbind showed the following:
Network devices using kernel driver
===================================
0000:00:1f.6 'Ethernet Connection (3) I219-LM 15b9' if=eno1 drv=e1000e unused=vfio-pci
0000:01:00.0 'I350 Gigabit Network Connection 1521' if=enp1s0f0 drv=igb unused=vfio-pci
0000:01:00.1 'I350 Gigabit Network Connection 1521' if=enp1s0f1 drv=igb unused=vfio-pci *Active*
0000:01:10.0 'I350 Ethernet Controller Virtual Function 1520' if=enp1s0f0v0 drv=igbvf unused=vfio-pci
0000:06:00.2 'Ethernet Connection X722 for 1GbE 37d1' if=enp6s0f2 drv=i40e unused=vfio-pci
Other Network devices
=====================
0000:06:00.0 'Ethernet Connection X722 37cc' unused=vfio-pci
Then, to set up the flow, I ran:
# ethtool -K enp1s0f0 ntuple on
# ethtool -N enp1s0f0 flow-type udp4 dst-ip 127.0.0.1 dst-port 1234 action 4294967296
rmgr: Cannot insert RX class rule: Invalid argument
(4294967296 == 1 * 2^32, which according to instructions here should mean forwarding to the first virtual function)
In dmesg I got the following error (the same happens when I don't specify the port):
igb 0000:01:00.0: ethtool -N: The specified action is invalid
Do you know what could be the cause here? Am I doing something wrong here or maybe my network card just does not support filtering?