200GbE流量生成器​

最近帮一客户测试,同时自己也在写Ruta的高性能Dataplane需要100Gbps以上的流量生成器,IXIA和Spirent当然是买不起的呀,只能想想C家自己的Trex了(https://trex-tgn.cisco.com/),由于此文针对很多需要测试的网工和客户,所以会很详细的Step-by-step的记录过程,大佬们别笑我~

00GbE流量生成器​"

1.Trex安装部署

大多数100Gbps高性能的网卡都是Mellanox家的CX4~6的卡,装ofed驱动又是一件麻烦事,大多数网工也不太熟,于是这里用一个最简单的办法构建Trex环境,下载并安装CentOS 8.2(2004),记得使用那个8G的dvd1选择默认的Server with GUI,不要最小安装

00GbE流量生成器​"

安装完成后,自然是换阿里云的源咯

 

然后仅需要安装RDMA-Core就好

yum install rdma-core-develcd /optwget --no-check-certificate https://trex-tgn.cisco.com/trex/release/latesttar -xzvf latestcd <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-toolsyum install -y elfutils-libelf-develyum install -y numactl-devel.x86_64 numactl-libs.x86_64yum install -y pciutils
pip3 install mesonyum 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.gitcd trex-core/git apply /opt/200g.diffcd linux_dpdk./b configure./b buildcd ..

然后执行新编译的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