ovs+dpdk测试总结

参考:https://github.com/openvswitch/ovs/blob/v2.6.1/INSTALL.DPDK.md

dpdk-16.07

openvswitch-2.6.1

安装配置参考上面链接


重点关注参数:

other_config:pmd-cpu-mask=60 60是配置pmd的个数和与核的关系(这里的意思是核5和核6各跑一个pmd线程),绑定的核最好是隔离出来的核,pmd数量不是越多越好,我测试时,2个pmd效果比较好,具体原因在哪不清楚,没有深入理解dpdk

pktgen+dpdk 

开一个pmd时,我用pktgen 发1000万pps,ovs只能转发150万左右
开两个pmd时,我用pktgen发400万pps,ovs不会丢包
开四个pmd时,我用pktgen发400万pps,ovs会丢10%左右丢包 
vhost port丢包的原因是vm处理不过来,可以考虑在vm添加dpdk应用程序

在配置pmd 掩码pmd-cpu-mask或是dpdk -c参数时,掩码的意思是按位使能对应的核,比如我设置10,二进制就是00010000,对应的是4号核(一个pmd),核的编号是0开始的。配置f0,二进制是11110000,对应的是4.5.6.7核(4个pmd)

查看ovs port统计

ovs-ofctl dump-ports br0

查看dpdk port 统计

ovs-vsctl  list interface dpdk0

查看包处理周期

./utilities/ovs-appctl dpif-netdev/pmd-stats-show


不管是建立虚拟机还是namespace,发现能ping通但不能ssh,执行ethtool -K eth1 tx off ,eth1对应响应网卡,分析方法是用tcpdump抓包,分析校验和,一般这种情况都是校验和不对。

猜你喜欢

转载自blog.csdn.net/zqt520/article/details/53933163
ovs