作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用连接到OVS(openvswitch)和ubuntu 18.04(VMWare工作站)上的DPDK的Iperf3(任何吞吐量测试器应用程序)来测试两个docker容器之间的吞吐量。这样做的目的是比较 OVS-DPDK 与 Linux 内核在某些场景下的性能。
我找不到合适的解决方案,它解释了如何将 OVS+DPDK 连接到 docker 容器,以便容器可以相互传递 TCP/UDP 流量。
感谢您帮助解释如何使用 OVS+DPDK 连接两个 docker 容器。需要在 docker 容器中完成的配置,以及需要在主机操作系统中完成的配置。
顺便说一句,我没有来自外面的交通。
谢谢
编辑
sudo apt install openvswitch-switch-dpdk
sudo update-alternatives --set OvS-vswitchd /usr/lib/openvswitch-switch -dpdk/OvS-vswitchd-dpdk
sudo dpdk-devbind --bind=vfio-pci ens33
.虽然我不需要这一步,因为如果我不绑定(bind)我的网卡,我没有来自外部的流量 sudo service openvswitch-switch restart
失败。ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
ovs-vsctl add-port br0 client -- set Interface client type=dpdk options:dpdk-devargs=<binded_nic_pci_addr>
和 ovs-vsctl add-port br0 server -- set Interface server type=dpdk options:dpdk-devargs=<binded_nic_pci_addr>
. (服务器端口号:1,客户端端口号:2)sudo ovs-ofctl del-flows br0
sudo ovs-ofctl add-flow br0 in_port=1,action=output:2
ovs-ofctl add-flow br0 in_port=2,action=output:1
最佳答案
[编辑:更新以反射(reflect)仅在容器上使用 OVS-DPDK 和 iperf3]
有多种方法可以连接 2 个 docker 以使用运行 iperf3 直接相互交谈。
sudo ./utilities/ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
sudo ./utilities/ovs-vsctl add-port br0 myeth0 -- set Interface myeth0 type=dpdk options:dpdk-devargs=net_tap0,iface=tap0
sudo ./utilities/ovs-vsctl add-port br0 myeth1 -- set Interface myeth1 type=dpdk options:dpdk-devargs=net_tap1,iface=tap1
sudo ./utilities/ovs-ofctl add-flow br0 in_port=1,action=output:2
sudo ./utilities/ovs-ofctl add-flow br0 in_port=2,action=output:1
笔记:
testpmd, l2fwd, skeleton
而不是运行 OVS-DPDK。 TAP PMD based OVS-DPDK
和 alternate to userspace iperf3
. 关于docker - 如何将两个docker容器连接到openvswitch+DPDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67257888/
我是一名优秀的程序员,十分优秀!