参考:

openNetVM

基于OpenNetVM配置环境的发包实践

注意:本文并未对OpenNetVM的服务链进行测试,而是在借助OpenNetVM脚本环境的情况下,分别对Pktgen和MoonGen进行运行测试。

OpenNetVM Installation

我们提供在OpenP4SC的文档中提供了修改过的OpenNetVM安装文档:opennetvm-installation

您也可以参考原教程:opennetvm-installation

安装OpenNetVM之后,会安装好DPDK的配置环境。

环境配置

环境配置包括:

  • 初始化DPDK环境;
  • 设置hugepage;
  • 10G NIC绑定。

初始化DPDK环境

进入openNetVM/scripts/

$ ./setup_environment.sh

也可以在此步进行10G NIC网口的绑定。

设置hugepage

进入openNetVM/dpdk/tools

$ ./dpdk-setup.sh

选择选项20,配置hugepage的大小(如1024),再选择选项33退出。

10G NIC绑定

进入openNetVM/dpdk/tools

$ ./dpdk-devbind.py --status

查看10G网口PCIe地址,将其绑定到DPDK:

$ ./dpdk-devbind.py --bind=igb_uio [dev_address]

测试物理环境

使用一根网线将dpdk0和dpdk1两个已经绑定到DPDK的10G网口直连:

+---+
| |
| | (dpdk0) ---+
| h | |
| | (dpdk1) ---+
| |
+---+

运行Pktgen

安装环境:

$ cd openNetVM/
$ git submodule init && git submodule update
$ sudo apt-get install libpcap-dev
$ cd tools/Pktgen/pktgen-dpdk/
$ make

测试命令:

$ sudo ./app/app/x86_64-native-linuxapp-gcc/pktgen -c 3 -n 1

运行MoonGen

安装环境:

首先保证gcc和g++的版本号高于4.7,如果没有的话请参考:

$ git clone https://github.com/emmericp/MoonGen
$ cd MoonGen
$ sudo apt-get install libnuma-dev
$ sudo git submodule update --init
$ sudo ./build.sh
$ sudo ./setup-hugetlbfs.sh

测试之前,确保脚本中的IP地址/MAC地址、本机端口的IP地址配置正确。

测试命令:

$ sudo ./build/MoonGen ./examples/quality-of-service-test.lua 0 1

2017.10

基于OpenNetVM配置环境的发包实践的更多相关文章

  1. Hadoop伪分布配置与基于Eclipse开发环境搭建

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)

    本文转自:自己的微信公众号<集成电路设计及EDA教程> <Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)>   轻轻走过,悄悄看过,无 ...

  3. 【SpringBoot】(1)-- 基于eclipse配置springboot开发环境

    基于eclipse配置springboot开发环境 1. 下载并配置eclipse ① 前往eclipse官网 https://www.eclipse.org/downloads/packages/ ...

  4. JDK 安装及配置环境变量(基于 Linux)

    1.先确定虚拟机系统是 32 位还是 64 位 #Linux 指令下输入 getconf LONG_BIT 2.建目录 JDK mkdir JDK 3.通过 rz 导入压缩包 jdk-8u144-li ...

  5. Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)

    1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...

  6. Android 2D游戏引擎AndEngine配置环境

    Android 2D游戏引擎AndEngine配置环境 1.2  配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和 ...

  7. 基于 koajs 的前后端分离实践

    一.什么是前后端分离? 前后端分离的概念和优势在这里不再赘述,有兴趣的同学可以看各个前辈们一系列总结和讨论: 系列文章:前后端分离的思考与实践(1-6) slider: 淘宝前后端分离实践 知乎提问: ...

  8. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)

    目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构   前言 学习Python也有一个半月时间了,学到现在感觉 ...

  9. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

随机推荐

  1. JDK历史版本下载地址

    JDK历史版本下载地址: http://www.oracle.com/technetwork/java/archive-139210.html -startupplugins/org.eclipse. ...

  2. python mmap对象

    ----使用内存映射的原因 为了随机访问文件的内容,使用mmap将文件映射到内存中是一个高效和优雅的方法.例如,无需打开一个文件并执行大量的seek(),read(),write()调用,只需要简单的 ...

  3. ::before 伪元素三角

    ul::before{ content: ''; width:; height:; border: 10px solid transparent; border-bottom: 10px solid ...

  4. Ford VCM II Ford VCM2 Diagnostic Tool with Ford IDS v108 Installed On Laptop Ready to Use

    HOW to VCM2 Ford VCM II with Ford IDS v108 Work Well? VCM2 Ford VCM2 Ford diagnostic tool hot sale i ...

  5. hashcat使用命令简介

    1.指定HASH类型 在HashCat中--hash-type ?参数可以指定要破解的HASH类型,运行hashcat主程序加上--help参数,在* Generic hash types:中可以看到 ...

  6. Eclipse在Debug模式下经常进入ThreadPoolExecutor解决办法

    1.进入Window-->搜索:debug

  7. 利用cookies跳过登陆验证码

    前言在爬取某些网页时,登陆界面时经常遇到的一个坎,而现在大多数的网站在登陆时都会要求用户填写验证码.当然,我们可以设计一套机器学习的算法去破解验证码,然而,验证码的形式多种多样,稍微变一下(有些甚至是 ...

  8. pxc 集群节点被kill -9 了拿什么拯救?

    集群关机或者异常宕机,重启后想要以IST的方式加入集群,需要考虑集群中是否存在满足的节点,该节点的gcache还存放着停机期间所产生的事物. 重新初始化节点加入集群应该是最后的救命稻草. 这里模拟某个 ...

  9. P4890 Never·island(dp)

    P4890 Never·island 求门开的最小时间,其实也就是求门关的最大时间. 坐标这么大....显然坐标要离散化 离散化排序后,我们发现x轴被这些点划分成若干条线段$(l,r)$,并且有4种情 ...

  10. 利用cgi编程实现web版man手册

    董老师前几天给我们布置了3道作业,第三道作业是cgi程序设计. 题目: web服务器cgi接口功能的实现 要求: 能调用cgi程序并得到返回结果: cgi程序能接受参数并得到返回结果: 使用两种或以上 ...