一.环境与编译
pdump库是在16.07版本引入的,提供了一个抓包调试功能。在$(RTE_SDK)/app
目录下就有一个dpdk-pdump
的工具。配置这个这个工具可以用于抓取指定接口、队列的数据包。
1.1 库及依赖
Pdump依赖于libpcap库及libpcap-dev
等相关库,要预先安装。
1.2 编译选项
Pdump依赖于基于libpcap的PMD驱动,需要开启两个设置,来生成运行pdump工具
CONFIG_RTE_LIBRTE_PMD_PCAP=y ($(RTE_SDK)/config/common_base文件)
CONFIG_RTE_LIBRTE_PDUMP=y ($(RTE_SDK)/config/common_base文件)
1.3 编译dpdk-pdump
这里以17.02版本为例说明。按照官方文档,在$(RTE_SDK)
目录下,
- 设置编译的目录
export RTE_SDK=XXX
,XXX就是dpdk的源码包的目录 - 设置编译后的安装目录(主要就是拷贝生成的库,头文件等)
export DESTDIR=XXX
,这个安装目录可以自行设置。推荐自己建一个目录,好找就行,生成的pdump工具就在这个目录里。 - 执行编译安装
make install T=x86_64-native-linuxapp-gcc