报文发生器 TRex 的配置和使用

TRex是思科研发的一款成熟的基于DPDK的网络测试工具。TRex是一款开源的发包工具,它跑在标准的intel处理芯片上,同时支持stateful和stateless模式,stateful可以描述L4~L7层的应用场景,而stateless主要用来进行定制包的发包。思科官方使用手册:TRex official manual。Github上思科TRex Traffic Generator代码仓库。目前主要利用TRex的DPDK高线速发包能力 Current Stateful TRex Feature sets (STF)

  • High scale of realistic traffic (number of clients, number of server, bandwidth)

  • Latency/Jitter measurements

  • Flow ordering checks

  • NAT, PAT dynamic translation learning

  • Learn TCP SYN sequence randomization - vASA/Firepower use case

  • Cluster mode for Controller tests

  • IPV6 inline replacement

  • Some cross flow support (e.g RTSP/SIP)

1. Trex安装和DPDK安装

安装依赖项。

sudo apt-get update
sudo apt-get install -y gcc g++ python git zlib1g-dev pciutils vim kmod strace wget

然后,下载最新的trex release。

cd $P4_HOME
mkdir trex
cd trex
wget --no-cache http://trex-tgn.cisco.com/trex/release/latest
tar -zxvf latest
cd v2.75  # 本次下载的版本是v2.75

在ubuntu下面执行dpdk安装命令。

sudo apt-get update
sudo apt-get install dpdk

配置dpdk网口。

cd $P4_HOME/trex/v2.75
sudo ./dpdk_setup_ports.py -s

返回结果显示,目前主机上Intel X710网卡有两个端口eth1和eth3。网卡还在使用内核驱动,还没绑定dpdk功能。等trex发包程序运行起来,X710网卡的两个网口会加载DPDK-compatible driver,比如igb_uio。

Network devices using DPDK-compatible driver
============================================
<none>
​
Network devices using kernel driver
===================================
0000:00:1f.6 'Ethernet Connection (3) I219-LM' if=eth2 drv=e1000e unused=igb_uio,vfio-pci,uio_pci_generic 
0000:02:00.0 'I210 Gigabit Network Connection' if=eth0 drv=igb unused=igb_uio,vfio-pci,uio_pci_generic *Active*
0000:d5:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=eth1 drv=i40e unused=igb_uio,vfio-pci,uio_pci_generic 
0000:d5:00.1 'Ethernet Controller X710 for 10GbE SFP+' if=eth3 drv=i40e unused=igb_uio,vfio-pci,uio_pci_generic 

2. Trex的

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Trex是一款开源的数据包生成和流量生成工具,可以模拟真实网络环境下的高负载流量。根据需求,Trex可以配置多个收发口。 Trex目前支持多种网络接口类型,包括以太网网卡(支持Intel、Broadcom等品牌)、FPGA加速卡等。首先,我们需要确保计算机或服务器上有支持的网卡硬件。 在配置Trex之前,我们需要编辑trex_cfg.yaml文件,该文件位于Trex安装目录的etc文件夹中。在文件中,我们可以指定Trex使用的物理接口数量,从而配置多个收发口。 要配置多个收发口,我们首先需要设置接口数量变量(这里以两个收发口为例): - 填写接口1的mac地址和PCI的地址。 - 填写接口2的mac地址和PCI的地址。 接下来,我们需要使用Trex所提供的命令行工具trex-console,通过运行以下命令来连接到Trex server: ``` trex-console -c ``` 在trex-console中,我们可以使用“bind”命令将网卡与对应的收发口绑定。例如,使用以下命令将接口1绑定到TrexA端口0: ``` bind 0 0 ``` 类似地,使用以下命令将接口2绑定到TrexB端口1: ``` bind 1 1 ``` 完成上述步骤后,我们可以通过运行测试用例来验证Trex配置的多个收发口是否正常工作。例如,我们可以使用Trex提供的测试用例中的“trex_stl_lib”测试多口并行发送和接收数据包的性能。 综上所述,我们可以通过编辑trex_cfg.yaml文件和使用trex-console命令行工具来配置Trex的多个收发口。可以根据具体需求,灵活设置Trex的收发口数量,并通过运行测试用例来验证配置是否成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值