DPDK中文-DPDK工具(pdump)
2017-02-28 23:21
1046 查看
翻译自:http://dpdk.org/doc/guides/tools/pdump.html
pdump故名思意:就是packet dump的意思。是DPDK提供给我们意secondary方式运行程序捕获dpdkport报文的app;一句话就是dpdk抓包的工具;
注意:
pdump只能是主dpdk程序准备OK了;
pdump依赖基于PMD的libpcap。这个选项默认在编译的配置文件是disable的;由于libpcap必须实现被安装在板子上,并且开发文件libpcap-dev这种也要安装;同时把build的配置文件。config修改CONFIG_RTE_LIBRTE_PMD_PCAP=y
运行程序,下面是程序的运行参数
./build/app/dpdk-pdump --
--pdump '(port=<port id> | device_id=<pci id or vdev name>), (queue=<queue_id>),
(rx-dev=<iface or pcap file> | tx-dev=<iface or pcap file>),
[ring-size=<ring size>], [mbuf-size=<mbuf data size>],
[total-num-mbufs=<number of mbufs>]' [--server-socket-path=<server socket dir>]
[--client-socket-path=<client socket dir>]
注意:
--pdump是必须强制指定的,其子参数将在下面部分描素
()是强制指定的
【】是可选的
多个--pdump可以用于捕获不同的接口和队列
--server-socket-path这个选项是可选的。用于指定server socket的目录。如果这个参数没有被指定,root用户就默认是:/var/run/.dpdk/非root用户就是 ~/.dpdk/
--client-socket-path 这个也是可选的。指的是client 的socket目录。如果这个参数没有被指定,root用户就默认是:/var/run/.dpdk/非root用户就是 ~/.dpdk/
--pdump的子参数
port
:需要被抓包的以太网的portid;
device_id
:需要被抓包的以太网的pci地址或者名字;
注意:因为一个bug。现在的pdump并不能抓虚拟设备的报文;
queue:以太网设备的queue id;如果queue是*则抓所有的队列;(多队列的情况)
rx-dev:应该是一个pcap文件名或者linux 的接口
tx-dev:应该是一个pcap的文件名或者是linux的接口
注意:
rx-dev只是入口方向的
tx-dev只是出口方向的
如果两个方向都分别要。tx-dev与rx-dev应该被同时制定两个不同的文件或者接口
两个方向都同时要,tx-dev与rx-dev应该指定相同的接口或者文件
ring-size:ring的大小。创建内部使用的ring;这个ring讲用于主程序向抓包程序入队了用的。默认是16384。
mbuf-sizze:mbuf data的大小。用于mempool的创建。用于入队列的mbuf用的。主要用于主程序向抓包程序传数据用的。默认是2176;应该与主server的mbuf一样
total-num-mbufs:这个指创建mbug的个数。默认值是65535
使用例子:
$ sudo ./build/app/dpdk-pdump -- --pdump
'port=0,queue=*,rx-dev=/tmp/rx.pcap'
转载请注明bestboyxie原创
pdump故名思意:就是packet dump的意思。是DPDK提供给我们意secondary方式运行程序捕获dpdkport报文的app;一句话就是dpdk抓包的工具;
注意:
pdump只能是主dpdk程序准备OK了;
pdump依赖基于PMD的libpcap。这个选项默认在编译的配置文件是disable的;由于libpcap必须实现被安装在板子上,并且开发文件libpcap-dev这种也要安装;同时把build的配置文件。config修改CONFIG_RTE_LIBRTE_PMD_PCAP=y
运行程序,下面是程序的运行参数
./build/app/dpdk-pdump --
--pdump '(port=<port id> | device_id=<pci id or vdev name>), (queue=<queue_id>),
(rx-dev=<iface or pcap file> | tx-dev=<iface or pcap file>),
[ring-size=<ring size>], [mbuf-size=<mbuf data size>],
[total-num-mbufs=<number of mbufs>]' [--server-socket-path=<server socket dir>]
[--client-socket-path=<client socket dir>]
注意:
--pdump是必须强制指定的,其子参数将在下面部分描素
()是强制指定的
【】是可选的
多个--pdump可以用于捕获不同的接口和队列
--server-socket-path这个选项是可选的。用于指定server socket的目录。如果这个参数没有被指定,root用户就默认是:/var/run/.dpdk/非root用户就是 ~/.dpdk/
--client-socket-path 这个也是可选的。指的是client 的socket目录。如果这个参数没有被指定,root用户就默认是:/var/run/.dpdk/非root用户就是 ~/.dpdk/
--pdump的子参数
port
:需要被抓包的以太网的portid;
device_id
:需要被抓包的以太网的pci地址或者名字;
注意:因为一个bug。现在的pdump并不能抓虚拟设备的报文;
queue:以太网设备的queue id;如果queue是*则抓所有的队列;(多队列的情况)
rx-dev:应该是一个pcap文件名或者linux 的接口
tx-dev:应该是一个pcap的文件名或者是linux的接口
注意:
rx-dev只是入口方向的
tx-dev只是出口方向的
如果两个方向都分别要。tx-dev与rx-dev应该被同时制定两个不同的文件或者接口
两个方向都同时要,tx-dev与rx-dev应该指定相同的接口或者文件
ring-size:ring的大小。创建内部使用的ring;这个ring讲用于主程序向抓包程序入队了用的。默认是16384。
mbuf-sizze:mbuf data的大小。用于mempool的创建。用于入队列的mbuf用的。主要用于主程序向抓包程序传数据用的。默认是2176;应该与主server的mbuf一样
total-num-mbufs:这个指创建mbug的个数。默认值是65535
使用例子:
$ sudo ./build/app/dpdk-pdump -- --pdump
'port=0,queue=*,rx-dev=/tmp/rx.pcap'
转载请注明bestboyxie原创
相关文章推荐
- DPDK中文-DPDK工具(pmdinfo)
- DPDK中文-DPDK工具
- DPDK中文-DPDK工具(procinfo)
- telelogic logiscope工具中的71条c/c++编码规则之学习(中文)
- 神秘大师终于出手:WebPart中文管理工具
- sql plus 或 PLSQL 工具不能显示中文字符
- IntelliJ IDEA中CVS插件以兼容其他cvs工具和中文目录
- mysql安装图解(详细步骤),配置,相关图形工具介绍及使用,中文支持
- 涉及到数字中文表示的一些工具函数
- [工具]SecureCRT中文显示和彩色显示的问题
- Unlocker 最好的顽固软件删除工具 V1.8.5 官方中文绿色版
- 每个开发人员现在应该下载的十种必备工具,这个是中文的哦
- 解决Java读取properties文件的中文问题的新办法(不使用native2ascii.exe及其他工具)
- LaTeX 写作的两个辅助工具:统计中文字数和关闭Acrobat中的PDF文档
- 解决Java读取properties文件的中文问题的新办法(不使用native2ascii.exe及其他工具)
- 中文BLOG工具
- .NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)
- 帮助解决网页和JS文件中的中文编码问题的小工具
- [编辑工具]用XMLMind写中文换行的问题
- LaTeX 写作的两个辅助工具:统计中文字数和关闭Acrobat中的PDF文档