我正在使用 SR-IOV 从物理 NIC 接口创建两个虚拟接口:
echo 2 > /sys/class/net/PHYSICAL_INTERFACE/device/sriov_numvfs
我想将其中一个虚拟接口与 DPDK 程序一起使用。似乎只有在虚拟接口对应的物理接口未绑定任何内容时,DPDK 程序才能使用虚拟接口。
因此,我的想法是解除物理接口的绑定,并使用第二个虚拟接口进行 SSH 连接(我的机器只有一个端口插入网络)。
然而,即使我小心地为第二个虚拟接口分配一个 IP 地址,然后通过第二个虚拟接口进行 SSH 连接,从 IP 地址解除物理接口的绑定似乎会将计算机从网络中删除:
ifconfig PHYSICAL_INTERFACE 0.0.0.0 up
有可能做我想做的事吗?
答案1
问题的假设:It seems that a DPDK program can only use a virtual interface if the virtual interface's corresponding physical interface isn't bound to anything.
答:这不是真的,使用X710我有带有内核的PF和带有DPDK的VF接口。唯一的标准是在将数据包发送到 DPDK 时使用 VF MAC 地址(基本重定向到 VF)
对于任何 VF 的工作,必须与内核驱动程序或 DPDK PMD(igb_uio 或 vfio-pci)绑定。将 PF 驱动程序与内核解除绑定,VF 到 PF 邮箱的连接将丢失,VF 不再有效。因此,对于要使用的任何 VF,它必须与内核或 DPDK(如果是 X710)绑定。