dpdk-pktgen简单使用

这一步之前,DPDK环境已塔好,pktgen已编译成功,网卡已绑定成功等一系列初始化工作已完成。

命令行参数:-P 和 -m 这两个参数是必要的!

./app/build/pktgen [EAL options] -- \

                            [-h] [-P] [-G] [-T] [-f cmd_file] \

                            [-l log_file] [-s P:PCAP_file] [-m ]

  -s P:  file    PCAP packet stream file, 'P' is the port number  -f filename  Command file (.pkt) to execute or a Lua script (.lua) file 

-l          filename  Write log to filename 写日志

-P         Enable PROMISCUOUS mode on all ports 开启混杂模式,必须要的参数 

-g          address  Optional IP address and port number default is (localhost:0x5606)

If -g is used that enable socket support as a server application

-G          Enable socket support using default server values localhost:0x5606 

-N          Enable NUMA support 

-T          Enable the color output 输出颜色 

--crc-strip  Strip CRC on all ports

-h Display the help information

参数中,最复杂的是 -m <string>

-m  <string> 配置端口到逻辑核的映射关系,使用类似BNF类语法.映射的逻辑核要与 [EAL options]中的逻辑核要一致。

BNF类语法

如下,也可以用 {} 来代替 [].

逻辑核与端口映射关系

[EAL options]里的参数与DPDK基本一样,主要是配置逻辑核掩码和内存通道数。这里不详解。以上是命令行参数,下面介绍运行时参数。

详细可参考官网中的资料:pktgen运行时参数

Pktgen:/> help #有帮助提示

这里只介绍最常用的命令,最常用的配置就是MAC,IPv4|IPv6|ARP,TCP|UDP|ICMP,SPORT|DPORT,PROTO,SEQ等

这些配置可以用 set命令来完成。

set命令图1
set命令图2

除了set命令,常用的还有显示主页面,page 0  | page main

加载和保存 .lua脚本的配置信息  load | save <path-to-file>

启动/结束发包:start | stop <portlist>.

常用命令

其实不用刻意去记命令怎么使用,按两次Tab键会有命令使用的提示。我现在用的是版本是3.1.2,最新版已到了3.5.0,所以一些配置命令会有些不一样,比如配置ip时,<portlist>的顺序就不一样。以上配置是基于最新版来的,如果在实际中发现按上面的命令不对,请先确认是否为最新版.其实只要大致记住一些命令就行,实际使用时可以按两次Tab键就会有提示,也可以把配置保存成.lua文件,下一次运行时候,直接加载就不用再配置了。由于对lua脚本不太熟,关于lua脚本的使用,等使用熟悉了再来深入讨论一些功能。最后,放一张运行时候的图来压压惊。。。

运行命令:./app/app/x86_64-native-linuxapp-gcc/pktgen -l 1-4 -n 4 -- -P -T -m "[1:2].0,[3:4].1"

 运行状态图

祝大家生活愉快。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    O感悟人生O阅读 10,232评论 2 33
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 3,181评论 0 5
  • 指令集 lua_capture_error_log lua_use_default_type lua_malloc...
    吃瓜的东阅读 9,972评论 0 2
  • 认为刷牙好好玩,随时要求麻麻刷牙牙,爸爸刷牙牙,爷爷刷牙牙,奶奶刷牙牙,你们的宝宝也这样儿吗?٩( 'ω' )و
    MochaLIN阅读 80评论 0 0
  • #女人一词由女孩代替,毕竟现在自己只能一个女孩来谈论这个话题# 最近追了我的前半生,一开始其实自己是没有兴趣的...
    liulangzh阅读 111评论 0 1