用TestPMD测试DPDK性能和功能

TestPMD是一个使用DPDK软件包分发的参考应用程序。其主要目的是在网络接口的以太网端口之间转发数据包。

准备TestPMD:

1.加载驱动

insmod igb_uio.ko
insmod rte_kni.ko

2.设置大页内存

mkdir -p /mnt/huge && mount n /mnt/huge -t hugetlbfs
echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

3.绑定网卡到igb_uio

//从rnpm解绑定
echo 0000:01:00.0 > /sys/bus/pci/drivers/rnpm/unbind
echo 0000:01:00.1 > /sys/bus/pci/drivers/rnpm/unbind
//绑定到igb_uio
echo 8848 1020 > /sys/bus/pci/drivers/igb_uio/new_id

运行testpmd测试

./testpmd -l 2-6 -- -i

–l 选项指定了逻辑核。核2用于管理命令行,核3-6将用于转发数据包。--分开了EAL参数和应用程序参数。-i选项运行在交互模式,来实时接收命令行。-n选项用于指定系统的内存通道数。

启动后将进入交互模式 ”testpmd>“ ,使用以下命令可查看转发配置

show config fwd

要检查端口之间是否有包正在转发,执行以下命令来显示应用程序正在使用的所有端口的统计信息

show port stats all

对于一个核不足以转发所有收到的包的情况,多核可以用于处理来自不同端口的数据包。使用以下命令可以调整核心数量

set nbcore 2

此时show config fwd可以看到核心3负责port0/1的收发,核心4负责port2/3的收发:

 若要将转发模式更改为收包模式,我们可以使用set fwd命令:

set fwd rxonly

启动/停止测试,退出程序

start     //启动
stop      //停止
quit      //退出

TestPMD为运行时可用的命令提供在线帮助。这些帮助分为几个部分,可以通过帮助命令获取。

help

你可能感兴趣的:(dpdk测试,linux,驱动开发,网络协议)