0

我正在尝试测试 XDP 程序,但客户端提供的测试环境由一台服务器和在其上运行的 qemu 客户机组成,并充当流量生成器(使用 scapy 或 DPDK)。为了让这个测试成功运行,来自来宾的数据包应该到达/注入到主机的 NIC 驱动程序(XDP 在本机模式下工作)。是否有任何配置/黑客可以使流量从来宾到主机驱动程序?

编辑:@vipin 建议清除一些要点,

  • 在主机上,网卡连接到内核上的 virbr0。
  • XDP 在物理网卡上运行。
  • 我正在使用 bpf_redirect_map 进行重定向,因为我们仍处于简单阶段。

无论如何,我有一个解决方法,就是在实验室设置中添加一个物理路由器,这对于这个阶段的测试来说已经足够了。

4

1 回答 1

0

Linux 中支持的 XDP(Express Data Path)是针对 RX 端的,并且有针对 TX 的补丁,但未集成。基于当前更新,XDP-eBPF 位于物理 NIC 上。所以物理网卡上的所有 RX 数据包都会被处理。

但根据共享的问题packets from the guest should arrive/be injected to the NIC driver ( XDP working in native mode ) of the host.。如果需要为来自 GUEST OS 的流量运行逻辑,则必须将 XDP 加载到emulator or TAP or Bridge接口。这将允许基于内核 NIC id 将数据包重定向到物理 NIC。

于 2021-06-04T03:56:28.650 回答