DPDK 的网卡流量分叉

DPDK 的网卡流量分叉

我正在尝试设置 Flow Bifurcation。其想法是让 DPDK 处理来自所选地址/端口对的 UDP 流量,其余流量则通过内核网络堆栈。

系统已使用 启动intel_iommu=on iommu=pt。我使用以下方式创建了 VF:

# echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/sriov_numvfs

dpdk-devbind 显示以下内容:


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

然后,为了设置流程,我运行了:

# 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,根据说明这里应该意味着转发到第一个虚拟函数)在 dmesg 中我收到以下错误(当我不指定端口时也会发生同样的情况):

igb 0000:01:00.0: ethtool -N: The specified action is invalid

您知道这可能是什么原因吗?是我操作错误还是我的网卡不支持过滤?

相关内容