最近在做DPDK jumbo部分内容,需要jumbo test的测试方法,在网络上搜索了很久,没有特别详尽的方法,所以我来做一下介绍,供大家参考。直入主题,jumbo test我介绍下面两种测试方法。
1 pktgen to testpmd
这就是最经典的一个测试方法。pktgen发包,testpmd收包。
1.1 pktgen作为TX
pktgen发包,他的命令为:
./build/app/pktgen -l 0-3 -n 3 -- -P -m"1.0" -j
也就是需要在之前的基础上加上-j option,这并不复杂,但是有一个注意点,我不清楚为什么,对于DPDK 19而言,利用这一cmd发包的时候会有segmentation fault。所以我是利用DPDK 21 with pktgen 22来发送的,这里ok。
启动pktgen之后,输入下述命令,这里的x都是需要你们根据需要来填入的数字,当然之前的命令也是,不绝对,主要就是一个-j的option。
/* 设置目标的mac地址 */
set 0 dst mac xx:xx:xx:xx:xx:xx:xx
/* 设置要发的包数 */
set 0 count xxxx
/* 设置要发的包的大小 */
set 0 size xxxx
/* 开始发包 */
start 0
如下图所示,就是这样,这里我设置的size为9000,发送的包数为10000。
1.2 testpmd作为RX
testpmd作为rx,他的命令为:
./x86_64-native-linux-gcc/app/testpmd -- -i --max-pkt-len=9000
同样的,这里唯一重要的就是--max-pkt-len=xxxx的设置,我这里设置的是9000,其他的option大家根据需要选择。
启动testpmd之后,因为是作为rx,所以执行下述cmd:
/* 设置rxonly */
set fwd rxonly
/* 这个可有可无 */
set promisc all off
/* 这里看port的数据*/
show port stats 0
/* 开始 */
start
如下图所示, 即为收到了包之后的情况,从图中可以看出,收到了两笔,每笔都是10000个包,大小也可以对应上。
2 pktgen互打
这个就简单很多,pktgen的命令还是和之前一样加上-j。进入app后,只要设置好size,就可以直接str了。这里可以看到,一切正常,jumbos也开始计数。
当然了,你也可以选择pktgen to pktgen这种做法,这是ok的,我也有测试过。
如果觉得这篇文章有用的话,可以点赞、评论或者收藏,万分感谢,goodbye~