ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dpdk-pktgen 安装和基本使用

2021-10-21 13:31:18  阅读:736  来源: 互联网

标签:pktgen 网口 参数 发包 Pktgen 安装 dpdk


        快速记录一下 dpdk-pktgen 的安装和基本使用过程。

        前置工作:

        dpdk-pktgen 有独立的 git 仓库,并且可以基于 meson 和 ninja 进行构建,因此安装过程很简单。
        安装过程如下:

$ git clone git://dpdk.org/apps/pktgen-dpdk
$ cd pktgen-dpdk
$ git checkout master
$ meson build
$ cd build
$ ninja
$ ls -l app/pktgen  //编译出来的可执行程序
-rwxr-xr-x 1 root root 477672 10月 19 12:59 app/pktgen

        基本使用方法:

Usage: ./app/pktgen [EAL options] -- [-h] [-v] [-P] [-G] [-T] [-f cmd_file] [-l log_file] [-s P:PCAP_file] [-m <string>] 

        pktgen 支持的命令行参数挺多的,可以通过 pktgen --help 来详细查看。不过它像大多数基于 dpdk 的测试程序一样,命令行参数主要有两部分组成:

  • EAL options
  • pktgen 自有参数

        其中,EAL options 参数部分可以参看 DPDK EAL parameters,最重要的一个参数就是 -l 参数,用它来指定使用的核列表,比如:-l 1,2 或者 -l 1-2,表示使用核 1 和核 2。值得注意的是,pktgen 至少要指定两个核,因为 pktgen 需要一个核与用户进行交互,比如响应测试过程中用户的输入。
        pktgen 自有参数部分最重要的是 -m 参数,用它来指定网口与核之间的对应关系,比如:-m 2.0,表示让核 2 来处理网口 0。值得注意的是,若要指定多个对应关系,则需多次使用 -m 参数。如果要收包,最好也指定一下 -P 参数,表示让所有网口进入混杂模式,以便接收到所有数据包。

        运行效果:

$ ./build/app/pktgen -l 1-3 -- -P -m 2.0 -m 3.1

        可以在上面提供的 "Pktgen:/> " 命令交互行中进行各种设置,pktgen 支持很名命令,具体可以使用 "help" 命令进行查看,下面介绍几个常用的命令:

Pktgen:/> set 0 size 64 // 将网口 0 发包的帧大小设置 64 字节
Pktgen:/> set 0 src ip 192.168.0.1/32 // 将网口 0 发包的源 IP 设置为 192.168.0.1
Pktgen:/> set 0 dst ip 192.168.0.2 // 将网口 0 发包的目的 IP 设置为 192.168.0.2
Pktgen:/> start 0 // 启动网口 0 的发包过程
Pktgen:/> stop 0 // 停止网口 0 的发包过程
Pktgen:/> quit // 退出 pktgen 程序

标签:pktgen,网口,参数,发包,Pktgen,安装,dpdk
来源: https://blog.csdn.net/choumin/article/details/120884509

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有