答案1
你好,谢谢你的绘图,这很有帮助。
我需要澄清一下 - 这是错误还是实际上服务器 2 中只有一个设备,因为两侧都称为“eth2”?我还没有看到使用 DPDK 桥接 VLAN,因为那是在更高级别。目前,我假设您的服务器 2 有两个支持 DPDK 的网络设备(实际上是三个,剩下一个用于控制)。
然后,您将在服务器 2 上将两个网络设备专用于 DPDK,并将它们添加到 openvswitch。请参阅服务器指南举几个例子。有一个更新待定,以整合 Yakkety 中提供的 OVS/DPDK 版本如何实现这一点。OVS 将自然地桥接这两个端口之间的流量,而无需进一步配置。
警告:确保这两个端口不属于同一物理网络。否则会重新反射所有流量并自我放大 - 最终导致整个网络段被破坏,这是一次自制的 DOS 攻击。
设置完成后,您可以从服务器 1 <-> 服务器 3 运行任何类型的流量。Iperf 适用于简单的流式工作负载。其他常见的简单测试是 netperf 和 uperf。可以在链接的测试示例中找到所有这三个测试的配置这里。
对于在 Ubuntu 上进行的一些简化测试,只需在一台具有两个 DPDK 功能端口的机器上进行即可,请随意查看简单的 dpdk 测试。我打算有一天用虚拟机建立类似于你画的东西,然后修改其中的流程规则,并检查它们的数量和复杂性的影响,但还没有时间。
最后,如果你想要更大的规模,你可以考虑使用服务器 1(如果有足够的接口可用)和基于 DPDK 的流量生成器,例如蒙根或者特雷克斯。