假设您已安装 openvswitch 并以 dpdk 模式运行。当 ovs 在裸机上使用 dpdkvhostuserclient 接口时,如何使用 dpdk-testpmd 向 openvswitch 发送流量。
答案1
为您的 dpdkvhostuserclient 套接字创建一个目录
mkdir -p /run/openvswitch/host/
在 netdev 模式下添加桥接器
ovs-vsctl add-br br-5 -- set bridge br-5 datapath_type=netdev
将 dpdkvhostuserclient 接口添加到桥接器,注意套接字尚未创建
ovs-vsctl add-port br-5 vhost-user-1 -- set Interface vhost-user-1 type=dpdkvhostuserclient options:vhost-server-path=/run/openvswitch/host/host-net1
在交互模式下启动 testpmd
./build/app/dpdk-testpmd -l 6,8 --vdev "net_virtio_user0,path=/run/openvswitch/host/host-net1,server=1,queue_size=2048" --in-memory --single-file-segments --no-pci -- -i
此时接口应该已启动并连接。这可以在 dpdk-testpmd 终端中通过以下方式验证:
show port info all
要在 dpdk-testpmd 终端中启动流量,请输入:
set fwd txonly
然后start
要检查数据包是否已在 testpmd 中传输,请运行:
show port stats 0
要检查数据包是否已在 ovs 中恢复,请在新的终端中运行:
ovs-ofctl dump-ports br-5