TestPMD的设置转发模式命令:
testpmd> set fwd (io|mac|macswap|flowgen| rxonly|txonly|csum|icmpecho|noisy) (""|retry)
除rx_only模式外的其他几种转发模式都可以指定retry参数
各种转发模式的说明如下:
-
io
:
使用I/O模式转发报文,这是TestPmd的默认转发模式。在此模式下,一个CPU核从一个port(Rx)接收报文并转发给宁外一个port(Tx),同一个端口可以同时接收和转发报文,因为此模式不对报文数据进行处理,所以是最快的转发模式。
-
mac
: 在转发报文前修改报文的源MAC地址和目的MAC地址。默认的行为是将源MAC地址设置为转发接口的MAC地址,将目的MAC地址设置为预设的MAC地址,用户可以通过“eth-peer”或“eth-peers-configfile”命令参数,在程序启动时配置预设MAC地址。目前还不支持对源MAC地址进行预设。
-
macswap
:
MAC交换转发模式,在转发报文之前交换报文的源MAC地址和目的MAC地址
-
flowgen
:
多数据流生成模式,根据不同的目的IP地址生成一组数据流,同时终结接收到的流量
-
rxonly
:
只接受报文,不会进行转发
-
txonly
:
只产生并发送报文,不接收任何报文
-
csum
:
根据报文的offload标记,通过硬件或软件方法修改报文的checksum字段
-
icmpecho
:
接收一组报文,查找是否有ICMP echo请求,如果有,就回应ICMP echo reply
-
ieee1588
:
演示对Rx和Tx基于L2 IEEE1588 V2 PTP时间同步特性,需要配置CONFIG_RTE_LIBRTE_IEEE1588=y.
-
softnic
:
演示软网卡的转发操作,在此模式下,报文转发和I/O模式相似,区别在于实际上报文只在loopback软网卡接口上转发。因此,portmask参数只能设置为软网卡端口。各种基于softnic固件(DPDK packet framework script)指定的自定义NIC软件网卡可以在此模式下进行测试,除此之外,还可以通过CLI使能,生成5级的QoS调度器作为默认的选项。用户可以修改默认的调度器或者通过CLI指定新的QoS调度器,此模式需要配置CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y.
-
noisy
:
噪音环境模拟,模拟多个真实客户机器的行为,接收和发送VNF(Virtual Network Function)报文
原文链接:TestPmd转发模式官方英文文档TestPMD的设置转发模式命令: testpmd> set fwd (io|mac|macswap|flowgen| rxonly|txonly|csum|icmpecho|noisy) (""|retry) 除rx_only模式外的其他几种转发模式都可以指定retry参数各种转发模式的说明如下:io: 使用...
本文介绍了数据平面开发工具包(
DPDK
)
Test
PMD
应用程序,展示了如何构建和配置
Test
PMD
, 以及如何用它来检查使用
DPDK
的不同网络设备的性能和功能。
Test
PMD
是一个使用
DPDK
软件包分发的参考应用程序。其主要目的是在网络接口的以太网端口之间
转发
数据包。此外,用户还可以用
Test
PMD
尝试一些不同驱动程序的功能,例如RSS,过滤器和英特尔®以太网流量控制器(Intel® Ether...
由于工作需要,需要在
DPDK
上用
test
pmd
应用程序进行测试。本文主要为了记录自己需要掌握的
test
pmd
的操作命令。
官方文档:http://doc.
dpdk
.org/guides/
test
pmd
_app_ug/intro.html
Introduction
test
pmd
对
dpdk
来说是
dpdk
工具包的一部分,主要是用来对
dpdk
的测试,当然其中也包括其他的一些功能,就工作而言,我需要理...
这篇文章主要是教大家如何编译生产
Test
PMD
,并且告诉你如何启动它。
Test
PMD
主要是用来测试两个网卡之间收发包,可以支持RSS,filters和Flow Director。
Test
PMD
的使用场景
第1中场景:测试两块网卡间的数据收发。
Figure 1.Setup 1 – With an external traffic generator.
第2中场景,测试同一块网卡两个口之间的数据收发。
Figure 2.Setup 2 –
Test
PMD
in loopback mode...
编写一个属于自己的
DPDK
应用程序(
DPDK
入门向)1.前言2.
DPDK
的示例 examples3.helloworld4.以skeleton(basicfwd)为基础,编写自己的应用程序。5.依葫芦画瓢+抛砖引玉6.编译自己的应用程序7.总结
最近这几周在研究
dpdk
,测试性能,因为是从零开始需要找各种各样的资料,然后发现要自己编写一个
dpdk
应用程序,真正对自己帮助最大的还是官方的文档,一个是api文档,一个是gudides文档(http://doc.
dpdk
.org/api https:/
为什么要生成 rte_config.h 头文件
dpdk
有单独的一套 config 配置文件,在 RTE_TARGET 变量
指定
的目标目录下需要生成一个 .config 文件,这个 .config 文件用来配置
dpdk
中不同组件的功能。
dpdk
大部分代码都是用 C 语言编写的,不能够直接使用 .config 文件。在
dpdk
编译过程中会根据 RTE_TARGET 变量
指定
的目标目录中的 .config 文件生成 rte_config.h 文件,
dpdk
内部实际是使用 rte_config.h
文章目录目录前文列表
DPDK
APP 的指令行参数
指定
DPDK
App 使用的 lcore(逻辑核)
指定
DPDK
App 使用的大页内存隔离
DPDK
App 使用 lcore使用基于 Intel VT-d 的 Linux IOMMU Pass-Through 来运行
DPDK
App
《
DPDK
— 安装部署》
DPDK
APP 的指令行参数
DPDK
App 都是可以接受输入指令行参数的,如下:
./rte-app -c COREMASK [-n NUM] [-b <domai