参考博客

Pktgen概述

  • Pktgen,(Packet Gen-erator)是一个基于DPDK的软件框架,发包速率可达线速。
  • 提供运行时管理,端口实时测量。
  • 可以控制 UDP, TCP, ARP, ICMP, GRE, MPLS and Queue-in-Queue等包。
  • 可以通过TCP进行远程控制。

Pktgen官网

安装使用过程

  • 版本:Ubuntu 16.04
  • DPDKL 18.02
  • cpu配置:

安装DPDK依赖:

  • DPDK安装依赖项合集 环境合集
  • 安装DPDK:Quick Start
$ git clone git://dpdk.org/dpdk or:git clone http://dpdk.org/git/dpdk
$ git clone git://dpdk.org/apps/pktgen-dpdk or:
$ git clone http://dpdk.org/git/apps/pktgen-dpdk

设置DPDK的环境变量:

$ export RTE_SDK=<DPDKInstallDir>//DPDK的安装目录
$ export RTE_TARGET=x86_64-native-linuxapp-gcc
$ cd $RTE_SDK
$ make install T=x86_64-native-linuxapp-gcc

安装pktgen

$ cd <PktgenInstallDir>//进入pktgen的安装目录
$ make

修改cfg/default

  • 修改网卡的设备号,可在dpdk配置脚本中查询:
# cd dpdk/usertools
# ./dpdk-setup.sh
  • 修改DPDK EAL 的命令行参数

  • 修改Pktgen的命令行参数

description = 'A Pktgen default simple configuration'# Setup configuration
setup = {'exec': ('sudo','-E'),'devices': ('01:00.0 01:00.1' //修改网卡设备PCI号,本机绑定了两张10G网卡),'opts': ('-b igb_uio')}# Run command and options
run = {'exec': ('sudo','-E'),# Application name and use app_path to help locate the app'app_name': 'pktgen',# using (sdk) or (target) for specific variables# add (app_name) of the application# Each path is tested for the application'app_path': ('./app/%(target)s/%(app_name)s','%(sdk)s/%(target)s/app/%(app_name)s',),'dpdk': ('-l 0-2',//使用了三个逻辑核'-n 2',//内存通道数为2'--proc-type auto','--log-level 7','--socket-mem 1024',//大页为1024'--file-prefix pg'),'blacklist': (#'-b 81:00.0 -b 81:00.1 -b 81:00.2 -b 81:00.3',#'-b 85:00.0 -b 85:00.1 -b 85:00.2 -b 85:00.3','-b 81:00.0 -b 81:00.1','-b 85:00.0 -b 85:00.1','-b 83:00.0'),'app': ('-T','-P','--crc-strip','-m [1].0',//逻辑核对1应端口号0,逻辑核0号作为主核不可绑定'-m [2].1'//逻辑核对1应端口号0,逻辑核0号作为主核不可绑定#'-m [19:20].2',#'-m [21:22].3'),'misc': ('-f', 'themes/black-yellow.theme')}
$ cd <PktgenInstallDir>/tools
$ ./run.py -s default  # setup system using the cfg/default.cfg file
$ cd <PktgenInstallDir>/tools
$ run.py default

若没有出现正确的配置选项,可参照博客:
http://www.cnblogs.com/ZCplayground/p/9328735.html

https://mails.dpdk.org/archives/users/2018-July/003269.html

效果

  • 用网线把两个网卡接口相连,运行

  • 显示包转发速率到了每秒千万级别,已完全达到高速发包的要求

转载于:https://www.cnblogs.com/vancasola/p/9338982.html

DPDK+Pktgen 高速发包测试相关推荐

  1. dpdk pktgen发包工具使用

    (免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂 更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学 ...

  2. 官宣 加速科技与思特威联合开发高速图像采集测试系统

    近日,杭州加速科技有限公司(以下简称"加速科技")将与思特威(上海)电子科技股份有限公司(以下简称"思特威")展开进一步深入合作,共同开发用于超高分辨率和超高帧 ...

  3. 2019款艾力绅的噪音测试软件,本田艾力绅高速噪音测试

    本田艾力绅高速噪音测试结果为70分贝左右,属正常情况.针对艾力绅噪音大的解决方案如下:可先检查轮胎,看是否需要更换.能使发动机声音变大的因素有很多,首先先确定一下是否有别的异响还是跟正常工作的声音一样 ...

  4. sender通用收发包测试工具

    sender工具是通用的发包工具,支持xml文件,在使用sender工具之前需要先把头文件中的结构体转化成xml文件,然后进一步使用sender工具实现发包功能.下面将详细描述此工具的使用: 1获取结 ...

  5. 基于Python的收发包测试

    该测试主要目的是为了做自动发包获取相应服务器数据.数据全部采用HTTP的post方法传输,因此可以作为一个基础练手. 主要分为两大部分,储存用的json文件(用的是D:/Documents/SAVE_ ...

  6. DPDK l2fwd收发包思维导图

  7. 简户检测 | 上海可靠性——电子胶带剥离力测试、胶带初粘力试验、胶黏剂剪切强度试验、高速剥离力测试、拉力测试

    拉力试验机是用来对材料进行静载.拉伸.压缩.弯曲.剪切.剥离等力学性能试验用的机械加力的试验机,适用于塑料板材.管材.异型材,塑料薄膜及橡胶.电线电缆等材料的各种物理机械性能测试为材料开发,为物性试验 ...

  8. 虚拟机安装dpdk 惊醒测试吗_基于KVM的SRIOV直通配置及性能测试

    SRIOV介绍.VF直通配置,以及包转发率性能测试 小慢哥的原创文章,欢迎转载 目录 ▪ 1. SRIOV介绍 ▪ 2. 环境说明 ▪ 3. 开启SRIOV ▪ 4. 生成VF ▪ 5. VF直通 ▪ ...

  9. 在单个虚拟机中搭建DPDK测试环境

    目前网络上关于如何测试DPDK应用程序的教程很多都需要用到物理硬件,在研究初期的时候显得不是那么方便.因此,我希望通过这篇博客,和大家分享一种纯虚拟的方式,教你如何从0开始,仅使用一台虚拟机搭建出DP ...

最新文章

  1. c语言的发展8个过程,c语言发展过程.pptx
  2. vbs之CurrentDirectory
  3. windows系统内实现端口转发
  4. SQLLite (一)基本介绍
  5. 如何在 C# 中使用 FTP 上传文件
  6. php 一键登录插件,FastAdmin一键管理插件
  7. 易语言mysql验证_易语言MySql注册登录
  8. 百度SEO最新强引蜘蛛软件工具
  9. 【课程】MIT最新深度学习课程集
  10. 视频云服务的技术现状与发展探讨
  11. 一张思维导图完成淘宝精细化运营
  12. centos7 播放网页flash视频
  13. 新特效火爆抖音!各路神仙齐唱《蚂蚁呀嘿》,网友:短短几秒需一生来治愈
  14. Apache的Order Allow,Deny 详解
  15. Java程序设计 多线程 基础知识题
  16. ChatGPT这是要抢走我的饭碗?我10年硬件设计都有点慌了
  17. P6770 [USACO05MAR]Checking an Alibi 不在场的证明(spfa)
  18. Python基础教程—私有化
  19. synergy一个鼠标控制多个电脑,synergy怎么用?synergy配置教程
  20. c语言指令文件命名,C语言--在命令行输入文件名字并打印文件内容

热门文章

  1. django异常日志_【python小随笔】Django+错误日志(配置Django报错文件指定位置)...
  2. response对象设置返回状态_postman 设置全局变量
  3. rto初始化和计算_TCP系列13—重传—3、协议中RTO计算和RTO定时器维护
  4. pccad自定义图框_(PCCAD自定义标题栏详细方法.doc
  5. php 删除单个文件大小,php删除指定大小的jpg文件
  6. NYOJ 27 大数阶乘
  7. Qt异常结束程序无法重新运行
  8. 从WebRtc学习RTCP协议
  9. 对于enable_shared_from_this、shared_from_this使用笔记
  10. C++多线程快速入门(三):生产者消费者模型与条件变量使用