您能否建议虚拟机中的哪个 Intel DPDK 驱动程序与主机中的 Intel X710 网卡驱动程序兼容?我们当前使用的 igb_uio 驱动程序可能仅与 82599 等 Intel 网卡兼容。
2 回答
由于问题不清楚,我必须做出一些假设。
假设:
- 您想在来宾操作系统中运行您的应用程序 (DPDK)。
- 您在主机上有 x710 (Fortville) NW 卡。
为了达到同样的效果,您将有 3 个选项。一个。X710 直通来宾操作系统。湾。X710 作为客户操作系统的 SRIOV。C。使用 OVS、虚拟交换机、VPP 或 Snabb 交换机等中间应用程序连接到客户操作系统。
对于这种情况a,b您仍然可以使用igb_uio或 'vfio-pci as the kernel driver is still i40e and device is seen as x710. For casec you can use 'igb_uio` 和 virtio-pci 作为内核驱动程序。
感谢您更新详细信息,因为这清楚地说明了环境和设置。请找到问题的答案以及可以采取哪些措施来解决问题
环境:
- 主机操作系统:RHEL 7.6,X710 PF 我们称之为 eno1,内核 PF 驱动程序是 i40e
- 来宾操作系统:RHEL 7.6,从 eno1 创建的 X710 VF 让我们称它们为 eno2 和 eno3,这些被传递给 VF 并与 igb_uio 绑定
- 预期行为:入口 (RX) 和出口 (TX) 应该可以工作
- 观察到的行为:出口 (TX) 仅有效,而虚拟机端口的入口 (RX) 无效
Fix for incoming packets from Host’s Physical port are not reaching VM via VF是将流量从物理 X710 重定向到所需的 SRIOV 端口,我们有 2 个选项
- 使用 OVS、Snabb Switch 或 VPP 等虚拟交换机
- 使用 PF 流导向器来设置规则。
当前的描述我找不到相同的。
回答您的疑问
why does X710 NIC VF driver remove the VLAN without RX offload VLAN strip flags set? The unexpected VLAN removal behaviour of X710 NIC VF driver vfio-pci is a known bug?
我相信,这与您传递的端口初始化配置有关,因为您可能将 API rte_eth_dev_configure 中的 eth_conf 作为默认值传递。这将使用默认的 RX 卸载行为,即 dev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP | DEV_RX_OFFLOAD_QINQ_STRIP。
The outgoing packets from DPDK application are leaving VM via VF towards Host’s Physical ports
这是因为如果您对 rte_eth_dev_configure 使用默认配置,则 tx 卸载将支持 VLAN
But the incoming packets from Host’s Physical port are not reaching VM via VF,
这必须由 HOST PF、流量导向器规则和 VF 设置决定。我假设您没有在主机上使用流控制器并将 rte_eth_dev_configure 设置为来宾操作系统中的默认值。