DPDK TestPmd的转发模式

原文链接:TestPmd转发模式官方英文文档

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地址进行预设。
  • macswapMAC交换转发模式,在转发报文之前交换报文的源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)报文

 

 

你可能感兴趣的:(DPDK TestPmd的转发模式)