2020-01-14 转载【dpdk】使用libpcap-PMD驱动收发包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-01-14 转载【dpdk】使用libpcap-PMD驱动收发包相关的知识,希望对你有一定的参考价值。

参考技术A https://doc.dpdk.org/guides/nics/pcap_ring.html

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

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

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

2.2.1 流选项

流选项包括:

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

2.2.2 命令举例

Testpmd:

据之前的官方文档中说,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:

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

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

以上是关于2020-01-14 转载【dpdk】使用libpcap-PMD驱动收发包的主要内容,如果未能解决你的问题,请参考以下文章

DPDK如何抓包

通过源码安装dpdk并运行examples (by quqi99)

(WIP) DPDK理论学习(by quqi99)

Libp2p学习

DPDK vhost库

DPDK QoS之分层调度器