美文网首页
dpdk-pktgen简单使用

dpdk-pktgen简单使用

作者: 偷风筝的人_ | 来源:发表于2018-05-05 21:35 被阅读0次

这一步之前,DPDK环境已塔好,pktgen已编译成功,网卡已绑定成功等一系列初始化工作已完成。

命令行参数:-P 和 -m 这两个参数是必要的!

./app/build/pktgen [EAL options] -- \

                            [-h] [-P] [-G] [-T] [-f cmd_file] \

                            [-l log_file] [-s P:PCAP_file] [-m ]

  -s P:  file    PCAP packet stream file, 'P' is the port number  -f filename  Command file (.pkt) to execute or a Lua script (.lua) file 

-l          filename  Write log to filename 写日志

-P         Enable PROMISCUOUS mode on all ports 开启混杂模式,必须要的参数 

-g          address  Optional IP address and port number default is (localhost:0x5606)

If -g is used that enable socket support as a server application

-G          Enable socket support using default server values localhost:0x5606 

-N          Enable NUMA support 

-T          Enable the color output 输出颜色 

--crc-strip  Strip CRC on all ports

-h Display the help information

参数中,最复杂的是 -m <string>

-m  <string> 配置端口到逻辑核的映射关系,使用类似BNF类语法.映射的逻辑核要与 [EAL options]中的逻辑核要一致。

BNF类语法

如下,也可以用 {} 来代替 [].

逻辑核与端口映射关系

[EAL options]里的参数与DPDK基本一样,主要是配置逻辑核掩码和内存通道数。这里不详解。以上是命令行参数,下面介绍运行时参数。

详细可参考官网中的资料:pktgen运行时参数

Pktgen:/> help #有帮助提示

这里只介绍最常用的命令,最常用的配置就是MAC,IPv4|IPv6|ARP,TCP|UDP|ICMP,SPORT|DPORT,PROTO,SEQ等

这些配置可以用 set命令来完成。

set命令图1
set命令图2

除了set命令,常用的还有显示主页面,page 0  | page main

加载和保存 .lua脚本的配置信息  load | save <path-to-file>

启动/结束发包:start | stop <portlist>.

常用命令

其实不用刻意去记命令怎么使用,按两次Tab键会有命令使用的提示。我现在用的是版本是3.1.2,最新版已到了3.5.0,所以一些配置命令会有些不一样,比如配置ip时,<portlist>的顺序就不一样。以上配置是基于最新版来的,如果在实际中发现按上面的命令不对,请先确认是否为最新版.其实只要大致记住一些命令就行,实际使用时可以按两次Tab键就会有提示,也可以把配置保存成.lua文件,下一次运行时候,直接加载就不用再配置了。由于对lua脚本不太熟,关于lua脚本的使用,等使用熟悉了再来深入讨论一些功能。最后,放一张运行时候的图来压压惊。。。

运行命令:./app/app/x86_64-native-linuxapp-gcc/pktgen -l 1-4 -n 4 -- -P -T -m "[1:2].0,[3:4].1"

 运行状态图

祝大家生活愉快。

相关文章

  • dpdk-pktgen简单使用

    这一步之前,DPDK环境已塔好,pktgen已编译成功,网卡已绑定成功等一系列初始化工作已完成。 命令行参数:-P...

  • 简单使用

    创建模型 过滤器 我们有一些字段和我们想让用户筛选的基础上 名称、价格或release_date。 我们创建一个 ...

  • gorange

    数组中简单使用 map中简单使用

  • 简单使用使用kaggle

    向我这样的条件不好的可以考虑借助云gpu来加速训练,借助kaggle可以在kaggle服务器上训练数据,kaggl...

  • 零碎的小程序笔记

    目录 template的简单使用WXS的简单使用npm的简单使用倒计时js的实现wx:for的使用一些js方法记录...

  • 命令行的简单使用

    Git命令行的简单使用,仅供自己使用 pod命令行的简单使用

  • 单元测试和OCMock

    OCMock使用一、安装及简单使用:使用Cocoapod引入:pod 'OCMock' 简单使用:新建一个单元测试...

  • Alamofire类似AFNetworking的简单使用和封装

    简单的使用。简单的使用。简单的使用。注定该文弱鸡一个,求拍砖。 一、介绍 Alamofire(Swift)的前身是...

  • Android ViewPager 使用总结

    ViewPager 简单使用 ViewPager + PagerAdapter简单的 View 可以使用这个实现,...

  • vuex简单简单使用记录

    1、Vuex有啥用(非官方解释)举例,组件a b 使用了同一个数据源count,当操作a的时候count++,同时...

网友评论

      本文标题:dpdk-pktgen简单使用

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