DPDK中文-DPDK工具(pdump)

news/2024/11/16 4:45:49/
翻译自: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原创

http://www.ppmy.cn/news/687275.html

相关文章

DPDK 多进程

DPDK库里是支持多进程和多线程&#xff0c;本文主要总结多进程的相关的操作。 DPDK多进程使用的关键启动参数&#xff1a; --proc-type&#xff1a;指定一个dpdk进程是主进程还是副进程&#xff08;参数值就用上面的primary或是secondary&#xff0c;或者是auto&#xff09;-…

DPDK Ring

无锁环ring是DPDK提供的一种较为基础的数据结构&#xff0c;其支持多生产者和多消费者同时访问。 经过我的经验&#xff0c;无锁结构的实现主要依靠两方面&#xff1a; 最终的数据交换一定要是原子级的操作&#xff0c;最常用到的自然就是比较后交换&#xff08;Compare And S…

DPDK系列之二DPDK编译

一、DPDK下载 前面把环境基本搭好&#xff0c;今天开始编译DPDK。首先是下载DPDK的源码&#xff0c;地址是&#xff1a; https://core.dpdk.org/download/ 也可以从官网https://www.dpdk.org/跳过来。然后就可以看到排下载的DPDK的版本&#xff1a; 这里下载的是DPDK 19.11.14…

如何在 Tkinter 中检测画布上的前一个项目?

在使用 Python 的 Tkinter 模块创建图形用户界面&#xff08;GUI&#xff09;时&#xff0c;有时我们需要检测画布上的前一个项目。这可以通过跟踪鼠标事件和使用适当的方法来实现。下面将介绍如何在 Tkinter 中检测画布上的前一个项目。 首先&#xff0c;让我们了解一下 Tkin…

DPDK概览

背景描述 DPDK的引入 对网卡频繁中断问题&#xff0c;提出DMA方式和设备轮询机制&#xff0c;其中NAPI采用“中断加轮询”的方式工作&#xff1b;网卡驱动在中断量较大&#xff08;设定阈值&#xff09;时会关闭中断&#xff0c;并自动采用轮询方式手法报文。 针对网络协议栈…

什么是DPDK

DPDK官网&#xff1a;http://www.dpdk.org/ What it is DPDK is a set of libraries and drivers for fast packet processing. It was designed to run on any processors. The first supported CPU was Intel x86 and it is now extended to IBM Power 8, EZchip TILE-Gx and…

DPDK相关介绍

读前须知 阅读本文前建议了解&#xff1a; 计算机网络基础知识&#xff1b; Linux用户态及内核态的简单介绍&#xff1b; 服务器 Numa 节点相关知识&#xff1b; 简述 概念 DPDK&#xff08;Data Plane Development Kit&#xff0c;数据平面开发套件&#xff09;&#xf…

DPDK简介

DPDK是什么 Intel DPDK全称Intel Data Plane Development Kit&#xff0c;是intel提供的数据平面开发工具集&#xff0c;为Intel architecture&#xff08;IA&#xff09;处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持&#xff0c;它不同于Linux系统以通用性设…