![将 dpdk 创建的 TAP 的输出馈送到 QEMU 虚拟网络接口](https://linux22.com/image/222136/%E5%B0%86%20dpdk%20%E5%88%9B%E5%BB%BA%E7%9A%84%20TAP%20%E7%9A%84%E8%BE%93%E5%87%BA%E9%A6%88%E9%80%81%E5%88%B0%20QEMU%20%E8%99%9A%E6%8B%9F%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3.png)
我有这个 DPDK 命令行:
sudo dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_pcap=/path/to/input.pcap' \
--vdev 'net_tap0,mac=fixed' -- -i --no-flush-rx
这在主机内有效,如下所示:
$ tcpdump -D
...
5.dtap0 [Up, Running, Connected]
...
$ tcpdump -i 5
# Other terminal
testpmd> start
预期数据从文件转储到dtap0
.
使用 QEMU,我使用以下设置将新的 NIC 添加到 Ubuntu 20.04 的实例:
请注意,IP 地址未知,我认为这是问题的原因。我如何获得分配的IP?
在虚拟机中我得到这个:
$ tcpdump -D
...
7.enp7s0 [none]
更新:
我忘了在虚拟机中提到这一点,但它仍然不起作用:
$ sudo ifconfig enp7s0 up
$ tcpdump -D
...
2.enp7s0 [Up, Running]
我还注意到虚拟机中有 IPv6 地址,但没有 IPv4 地址。主机VM中的TAP端口也只有一个IPv6地址。