美文网首页
2020-01-14 转载【dpdk】使用libpcap-PMD

2020-01-14 转载【dpdk】使用libpcap-PMD

作者: 阿群1986 | 来源:发表于2020-01-14 15:24 被阅读0次

https://doc.dpdk.org/guides/nics/pcap_ring.html

中文资料

转自 https://www.cnblogs.com/zzqcn/p/4902373.html

所有dpdk应用程序都运行在EAL之上,而EAL提供了-vdev选项,可能通过它来指定使用libpcap pmd。格式如下:

app -c f -n 4 \
--vdev='net_pcap0,stream_opt0=..,stream_opt1=..' \
--vdev='net_pcap1,stream_opt0=..'

可以配置多个伪设备(pseudo-ethernet device),每个设备的名称必须以net_pcap开头,然后跟数字或字母。每个设备都可以配置多个流选项(stream options),流选项之前使用逗号隔开,不能有空格符。

2.2.1 流选项

流选项包括:

  • rx_pcap 将一个pcap文件设为Rx流,参数为pcap文件路径。Libpcap pmd驱动会读取文件中的每个包,就好像从实际网口读一样。这个pcap文件必须存在且有效。如 rx_pcap=/home/dev/test.pcap
  • tx_pcap 将一个pcap文件设为Tx流。此文件将会自动创建和重写。
  • rx_iface 将一个使用Linux内核驱动的物理网口设为Rx流。如rx_iface=eth0
  • tx_iface 将一个使用Linux内核驱动的物理网口设为Tx流。
  • 直接使用iface 可以同时映射一个物理网口的tx和rx数据,libpcap pmd驱动将从此口读写报文。如 iface=eth0

由上可见,libpcap pmd不仅支持将pcap文件模拟为Rx/Tx的功能,也支持Linux驱动的普通网卡。在使用中我们可以随意组合,比如Rx设为eth0,而Tx设为tx.pcap,或者两者都是eth0或pcap文件。

2.2.2 命令举例

Testpmd:

./testpmd -c 3 -n 4 \
  --vdev='net_pcap0,rx_pcap=/tmp/tcp.pcap,tx_pcap=/tmp/tx0.pcap' \
  --vdev='net_pcap1,rx_pcap=/tmp/tcp.pcap,tx_pcap=/tmp/tx1.pcap' \
  -- \
  --port-topology=chained \
  --no-flush-rx -i --nb-ports=2

据之前的官方文档中说,testpmd在开始报文转发前会从每个Rx口收512个报文并丢弃,而使用libpcap pmd时,可以通过—no-flush-rx选项来禁用这个特性。另外,据我试用,--nb-ports=2将port数设为2,否则多个port之间会有影响,不利于测试。

运行后,net_pcap1的Tx对应文件将保存net_pcap0的Rx对应文件中的报文,net_pcap0的Tx对应文件将保存net_pcap1的Rx对应文件中的报文。Rx对应的文件都只会读取一轮。

L2fwd:

./l2fwd -c 3 -n 4 \
--vdev='net_pcap0,rx_pcap=/tmp/tcp.pcap,tx_pcap=/tmp/tx0.pcap' \
--vdev='net_pcap1,rx_pcap=/tmp/tcp.pcap,tx_pcap=/tmp/tx1.pcap' \
-- -p 3 

再强调一下:--vdev的值字符串,即单引号括起来的内容中,不能有空格,否则会出错。

https://www.cnblogs.com/zzqcn/p/4902373.html

相关文章

  • 2020-01-14 转载【dpdk】使用libpcap-PMD

    https://doc.dpdk.org/guides/nics/pcap_ring.html 中文资料 转自 h...

  • DPDK简单使用

    一、快速使用 官网下载DPDK。 解压: tar –xf dpdk.tar cd dpdk 配置: make co...

  • 非root用户使用dpdk初始化失败

    非root用户使用dpdk初始化失败 错误内容 非root用户使用dpdk初始化失败时(root用户没有问题),报...

  • centos7 安装DPDK

    1.DPDK下载 下载dpdk18.05: wget http://fast.dpdk.org/rel/dpdk...

  • 安装使用DPDK

    mTCP中使用DPDK将网卡上的数据提取到用户态,然后经过用户态的TCP/IP协议进行处理。DPDK全称Data ...

  • DPDK PDUMP使用

    参考文献:http://syswift.com/315.htmlhttps://www.cnblogs.com/y...

  • DPDK PKTGEN使用

    参考文献:https://www.jianshu.com/p/2229854a0d38https://blog.c...

  • DPDK编程指南(翻译)( 三十一)

    31. 开发套件构建系统 DPDK 需要一个构建系统用于编译等操作。 本节介绍 DPDK 框架中使用的约束和机制。...

  • DPDK capture原理

    本文主要介绍DPDK框架下进行报文捕获的方法,并对各种方法的优劣进行简单分析。 1.pdump库的使用 在DPDK...

  • dpdk的安装

    下载稳定的dpdk库wget https://fast.dpdk.org/rel/dpdk-17.11.4.tar...

网友评论

      本文标题:2020-01-14 转载【dpdk】使用libpcap-PMD

      本文链接:https://www.haomeiwen.com/subject/uklaactx.html