本文参考

(1)Varant Download:点我

(2)Mac上安装Git:戳我

(3)Github P4-vSwitch/Varant:点我

(4)Mac强制重新启动:戳我

实验环境:

Mac OS X 10.11.5

相关硬件概览:

  • 型号名称: MacBook Air
  • 型号标识符: MacBookAir7,2
  • 处理器名称: Intel Core i5
  • 处理器速度: 1.6 GHz
  • 处理器数目: 1
  • 核总数: 2
  • L2 缓存(每个核): 256 KB
  • L3 缓存: 3 MB
  • 内存: 8 GB

前言

p4-vSwitch PISCES是一种基于OvS的Software Switch,装有DPDK等内核组件,它一般使用P4语言作为其描述,采用Vagrant工具进行虚拟环境的分支控制。

安装模拟环境,相当于装三个VMs虚拟环境:交换机环境(Switch),发生器(Generator),接收器(Receiver)。

之前我们接触了P4factory,进行了简单的样例测试;那么现在我们想要做的,就是模拟一个环境,看看P4程序能不能在该环境下发挥它的作用。

大概需要五个终端,运行三个虚拟环境:三个终端A,B,C运行Switch虚拟环境,D运行Receiver虚拟环境,E运行Generator虚拟环境。

提示一:

之前我走了很多弯路,在Ubuntu14.04虚拟环境下安装PISCES和Vagrant。

但是在执行vagrant up这一步的时候,会出现没有找到VirtualBox的相关文件。

后来百度了一下Vagrant这个工具,才发现这是一个管理虚拟环境的工具,并不是要运行在虚拟环境中,而是要装在和VirtualBox并行的系统中!

我的母系统是OS,那么我的Vagrant和VirtualBox就需要装在该系统下。

提示二:

请根据上文提供的Vagrant安装网址和VirtualBox的官网进行安装。

注意:虚拟环境一定得是VirtualBox,其他的比如VMwareWorkstation就不行。

Setup Virtual Machines (VMs)

首先自然是安装三个虚拟环境。下一段是关于它们的描述:

There are three virtual machines: Switch, Generator, and Receiver. The Generator sends traffic to the switch on its eth1 interface, the switch then processes the packet based on the configured P4 program and sends it out to the receiver on its eth2 interface. The receiver receives the traffic and displays stats on the screen.

第一步 Add the vagrant box:

$ vagrant box add pisces-ubuntu-trusty64 http://www.cs.princeton.edu/~mshahbaz/projects/pisces/vagrant/ubuntu-trusty64.box



这一步需要十分钟左右的等待,笔者所处的WiFi环境不是特别好,有一次下了一天一夜只有5%,换到实验室就没有问题,十分钟解决。

第二步 Clone the vagrant repository.

$ git clone https://github.com/P4-vSwitch/vagrant.git
$ cd vagrant

这一步蛮快的,5s不到。进入vagrant目录。

第三步 启动虚拟机 Bring up virtual machines.

$ vagrant up

这一步等了20min,跑了估计有10G多的闪存。。

小提示:

It can take vagrant 10-15 mins to start up the VMs. So sit back, relax, and wait for the setup to complete.

PISCES P4-vSwitch 安装以及一次失败的测试的更多相关文章

  1. Fedora 21 安装 Nvidia 驱动以及失败后的补救方法

    在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...

  2. CentOS 6.3 中安装VirtualBOX增强工具失败:Building the main Guest Additions module[FAILED]

    在VirtualBox里安装CentOS系统,会遇到“增强工具”无法正常安装,主要的原因是出在Kernel 库找不到. 错误提示如下:  通过查看日志文件: cat /var/log/vboxadd- ...

  3. 宿主系统为Ubuntu 14,CentOS 6.5 安装VirtualBox增强工具失败:Building the OpenGL support module[FAILED]

    安装先前的笔记:CentOS 6.3 中安装VirtualBOX增强工具失败:Building the main Guest Additions module[FAILED],执行了以下命令 #安装 ...

  4. Ubuntu 下安装 apt-get install npm 失败的解决方案

    Ubuntu 下安装 apt-get  install npm 失败的解决方案: sudo apt-get remove nodejs npm ## remove existing nodejs an ...

  5. Oracle安装时先决条件检查失败的解决方案

      Oracle安装时先决条件检查失败的解决方案 [java] 安装环境:Win7-64bit专业版,内存6G,硬盘空间足够 安装版本:Oracle Database 11g Release 2 (1 ...

  6. win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误

    前言 在客户的服务器电脑安装net4.6,提示安装失败错误,最后顺利成功安装net4.6. 一.错误 1.win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1.w ...

  7. [转载]安装Oracle11gR2先决条件检查失败的详细解决处理过程

    原文地址:安装Oracle11gR2先决条件检查失败的详细解决处理过程作者:四海名汀 最近在32位Win7系统下安装Oracle11g发现一系列错误,现将详细的错误解决过程记录如下,以供大家参考. 一 ...

  8. 阿里云的云虚拟主机安装dede提示数据库连接失败的解决办法

    问题描述 阿里云的云虚拟主机安装dede提示数据库连接失败 问题分析 连接数据库失败,可能数据库密码不对或数据库服务器出错! 解决方案 1.通过ftp软件查看htdocs/data/common.in ...

  9. 安装程序配置服务器失败。参考服务器错误日志和C:\windows\sqlstp.log 了解更多信息

    重装sql经常遇到2个问题 1,以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机. 删除C:\Program Files\Microsoft SQL Serve ...

随机推荐

  1. ASP.NET MVC 3 使用Model自定义验证的样式

    1.修改jquery.validate.unobtrusive.js 将onError方法修改 //修改的部分 //////////////////////////////////////////// ...

  2. JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)

    1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...

  3. Webservice加上SoapHeader验证方式

    提供一种基于SoapHeader的自定义验证方式,代码如下: public class MySoapHeader : System.Web.Services.Protocols.SoapHeader ...

  4. PHP 过滤 及 字符转换 函数

    PHP过滤html标签的内部函数. php过滤html的函数: strip_tags(string) 这样就可以过滤掉所有的html标签了. 如果想过滤掉除了<img src="&qu ...

  5. PHP 判断数组里的值是否有存在

     一维数组检测<?php  $a = array('as','ddf','ddf','as','qwe','wer','ert'); $res = array_unique($a); var_d ...

  6. 添加网页ico

    <link rel="Shortcut Icon" href="/favicon.ico" />

  7. 简单几何(线段相交) POJ 1066 Treasure Hunt

    题目传送门 题意:从四面任意点出发,有若干障碍门,问最少要轰掉几扇门才能到达终点 分析:枚举入口点,也就是线段的两个端点,然后选取与其他线段相交点数最少的 + 1就是答案.特判一下n == 0的时候 ...

  8. 贪心/字符串处理 Codeforces Round #291 (Div. 2) A. Chewbaсca and Number

    题目传送门 /* WA了好几次,除了第一次不知道string不用'\0'外 都是欠考虑造成的 */ #include <cstdio> #include <cmath> #in ...

  9. 获取RenderedGeometry不对的处理

    如果是在代码中添加的形状,获取Shape.RenderedGeometry会出错. 这是由于WPF没有更新形状的原因,调用Shape.Arrange()后问题解决.

  10. Booklet Printing[HDU1117]

    Booklet Printing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...