200GbE流量生成器
最近帮一客户测试,同时自己也在写Ruta的高性能Dataplane需要100Gbps以上的流量生成器,IXIA和Spirent当然是买不起的呀,只能想想C家自己的Trex了(https://trex-tgn.cisco.com/),由于此文针对很多需要测试的网工和客户,所以会很详细的Step-by-step的记录过程,大佬们别笑我~
1.Trex安装部署
大多数100Gbps高性能的网卡都是Mellanox家的CX4~6的卡,装ofed驱动又是一件麻烦事,大多数网工也不太熟,于是这里用一个最简单的办法构建Trex环境,下载并安装CentOS 8.2(2004),记得使用那个8G的dvd1选择默认的Server with GUI,不要最小安装
安装完成后,自然是换阿里云的源咯
然后仅需要安装RDMA-Core就好
yum install rdma-core-devel
cd /opt
wget --no-check-certificate https://trex-tgn.cisco.com/trex/release/latest
tar -xzvf latest
cd <version: maybe : v2.86>
./dpdk_setup_ports.py -i
按照您自己的需求选择网卡就行了,需要配对选择
然后启动t-rex进程就好
./t-rex-64 --no-ofed-check -i -c 14
然后另外开一个窗口
安装jre,注意选择Oracle的JRE,不要选择OpenJDK
点击File-》Connect选择连接本机127.0.0.1
连接后点击Port右键选择Acquire
点击菜单Traffic Profile, 选择+Create Profile
然后点击+Build Stream
选择Simple Mode和调整需要的Rate,可以基于接口带宽,带宽占比和pps定义。
选择Protocol Selection可以定义包的大小,Protocol Data页面可以更详细的定义包的源目的MAC/IP等信息,选择完后Save并关闭窗口
接口中选择Profile并在下拉菜单中选择您刚定义的Profile即可
点击左边绿色播放按钮即可发流了,然后点击Stats菜单可以看到Dashboard
但是为啥一个200GbE的接口只能打100Gbps呢?
2.提速!200GbE
检查PCIe带宽,通常一些老的平台只有PCIe Gen3 16x,只能支持100Gbps,所以首先要看网卡是否工作在PCIe Gen4模式,可以通过如下方式逐步找到Device ID然后查看,注意LnkSta,如果是Speed 16GT/s 表示Gen4, x16表示PCIe Gen4 x16.
然后检查光模块和ethtool显示都是200GbE,那么问题在哪呢?我们发现Trex的代码有问题,官网上显示200Gbps说的是整机,不是它单端口,单端口最大只支持100Gbps
/src/dpdk_trex_port_attr.cpp
下一步,那么就是搭建编译环境,改代码了呀~按照如下方式构建编译环境
yum install -y cmake make git gcc gcc-c++ kernel-devel kernel-headers kernel.x86_64 net-tools
yum install -y elfutils-libelf-devel
yum install -y numactl-devel.x86_64 numactl-libs.x86_64
yum install -y pciutils
pip3 install meson
yum install ninja-build
然后下载Trex源码, apply diff
diff文件放在Trex的issue里面了,https://github.com/cisco-system-traffic-generator/trex-core/issues/583, 可以其粘贴到/opt/200g.diff
git clone https://github.com/cisco-system-traffic-generator/trex-core.git
cd trex-core/
git apply /opt/200g.diff
cd linux_dpdk
./b configure
./b build
cd ..
然后执行新编译的trex
cd scripts
./t-rex-64-o --no-ofed-check -i -c 30
重新连接Trex-GUI打流就好啦~已经识别为200Gb了~
200B的中小包占用84%的CPU资源,就差不多打满200G了
如果用500B的包CPU使用率更低
《200GbE流量生成器》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/250.html