在使用DPDK进行收发包时,经常会用到一些配套的工具来进行配置或者测试验证。在DPDK源码usertools/目录中提供了很多工具,下面我们一起来梳理一下这些工具的使用方法:
1、dpdk-devbind.py
dpdk-devbind.py是进行DPDK驱动绑定和解绑的工具,在使用DPDK收发包之前,需要将要用到的收包网卡绑定到igb_uio驱动,这样ifconfig就看不到了,如果解绑igb_uio驱动,绑定linux内核的原生驱动,ifconfig就有可以看到网卡了。
dpdk-devbind.py -h 查看帮助信息
dpdk-devbind.py -s 查看当前网卡绑定的状态
dpdk-devbind.py -b igb_uio 0000:0b:00.0 或者 dpdk-devbind.py -b igb_uio eth1 绑定网卡使用igb_uio驱动
dpdk-devbind.py -u igb_uio 0000:0b:00.0 网卡解绑使用igb_uio驱动
2、dpdk-hugepages.py
dpdk-hugepages.py是进行大页内存的配置和查看工具,在使用DPDK收发包之前,大页内存的配置必不可少。
dpdk-hugepages.py -h 查看帮助信息
dpdk-hugepages.py -s 查看当前大页内存配置信息
dpdk-hugepages.py -p 1G --setup 2G 配置1G类型的大页,总共2G
3、dpdk-pmdinfo.py
dpdk-pmdinfo.py是查看DPDK应用程序PMD驱动信息的工具。
dpdk-pmdinfo.py -h 查看帮助信息
dpdk-pmdinfo.py /usr/local/bin/dpdk-testpmd 查看dpdk-testpmd进程的PMD驱动信息
4、dpdk-telemetry.py
dpdk-telemetry.py是DPDK提供的一个调试工具。它的基本实现原理是通过UNIX域套接字与DPDK应用进程通信,获取相关的调试信息。telemetry库有两个版本,dpdk-telemetry-client.py对应的是v1版本,功能太简单,dpdk-telemetry.py是v2版本。
启动dpdk-testpmd进程,然后启动dpdk-telemetry.py脚本:
/ethdev/list 获取ethdev ports列表
/ethdev/xstats,1 获取编号为1的网口的统计信息
/help,/ethdev/xstats 查看/ethdev/xstats命令的帮助新
5、cpu_layout.py
cpu_layout.py可以查看系统上CPU的布局。
好了,DPDK常用工具的使用说明就到这里了,有问题的朋友,可以进网络技术开发交流群提问(先加我wx,备注加群),喜欢文章的朋友,加个关注呗~~