欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ovs-dpdk实践(1)--链路测试

程序员文章站 2022-07-07 14:06:41
...
  • 测试环境
    如何搭建ovs-dpdk环境,参考OvS-DPDK源码安装+实践的超完整教程
    • 两台ubuntu16.04.6-server虚拟机
      • VM1: ovs2.9.0, DPDK17.11
      • VM2: ovs2.11.0, DPDK18.11
    • 虚拟机网络配置
      • 三块网卡:NAT用于上外网,两张host-only用于测试
      • Host-only网卡1:192.168.56.1/24
      • Host-only网卡2:192.168.32.1/24
  • 搭建测试网络拓扑
    • 每个VM创建两个ovs网桥s1和s2,vm1和vm2的s1ip在同一网段,s2在同一网段
    • vm1
      s1: 192.168.56.10/24 s2: 192.168.32.10/24
    • vm2
      s1: 192.168.56.11/24 s2: 192.168.32.11/24
        # VM1
        ovs-vsctl add-br s1 -- set bridge s1 datapath_type=netdev
        ovs-vsctl add-port s1 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:00:08.0 ofport_request=1
        
        ovs-vsctl add-br s2
        ovs-vsctl add-port s2 enp0s9
        
        ifconfig s1 192.168.56.10/24 up
        ifconfig s2 192.168.32.10/24 up
        
        # 关闭防火墙
        systemctl stop ufw.service
        # VM2
        ovs-vsctl add-br s1 -- set bridge s1 datapath_type=netdev
        ovs-vsctl add-port s1 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:00:08.0 ofport_request=1
        
        ovs-vsctl add-br s2
        ovs-vsctl add-port s2 enp0s9
        
        ifconfig s1 192.168.56.11/24 up
        ifconfig s2 192.168.32.11/24 up
        
        # 关闭防火墙
        systemctl stop ufw.service
    
    注意:
    (1). enp0s9需要ifconfig up启动网卡,否则第二块网卡会ping不通。
    (2). 在给Ovs网桥添加DPDK端口之前,先保证网卡已经绑定为DPDK端口。
  • 使用iperf测试链路带宽
    • vm2做客户端,vm1做服务端,客户端从s1和s2分别ping服务端的s1和s2
    # vm1
    iperf -s -i 1
    
    # vm2
    iperf -t 10 -i 1 -c 192.168.56.10
    iperf -t 10 -i 1 -c 192.168.32.10
    
    -i sec以秒为单位显示报告间隔,-t sec测试时间默认10秒,-c以client模式启动, host是server端地址。
    • 查看测试结果
      • 使用非DPDK驱动的链路带宽
        ovs-dpdk实践(1)--链路测试
      • 使用dpdk驱动的链路带宽
        ovs-dpdk实践(1)--链路测试
  • 结果分析
    测试出来的结果和预期相反,使用DPDK驱动的速度比普通网卡速度要慢,相当于只有普通网卡的1/10。
    可能是由于使用的虚拟机内存限制,cpu性能等导致测试结果不理想。
    参考博客
相关标签: ovs