本文参考

(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. Linus的redHat在root出现错误:-bash: addgroup: command not found

    在root下无法完成添加用户组操作,如下: [root@host8 ~]# addgroup hadoop-bash: addgroup: command not found 这是的,root下竟然不 ...

  2. js伪数组及转换

    什么是伪数组 能通过Array.prototype.slice转换为真正的数组的带有length属性的对象. 这种对象有很多,比较特别的是arguments对象,还有像调用getElementsByT ...

  3. 每个人都应该知晓的8项Resharper快捷键

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”) 如果你已经在用Resharper这个编程神器(机器杀手)的话,那么为了进一步提高工作效率熟悉它的一些特殊特性和快捷键那是必须的. Res ...

  4. linux下验证码无法显示:Could not initialize class sun.awt.X1 解决方案

    转自:http://my.oschina.net/xiangtao/blog/28441 网站验证码突然无法显示,并报如下错误. Caused by: java.lang.NoClassDefFoun ...

  5. 计数排序算法——时间复杂度O(n+k)

    计数排序 计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出.它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于 ...

  6. Ubuntu常用命令大全(转)

    点评:Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件 ...

  7. ML 01、机器学习概论

    机器学习原理.实现与实践——机器学习概论 如果一个系统能够通过执行某个过程改进它的性能,这就是学习. ——— Herbert A. Simon 1. 机器学习是什么 计算机基于数据来构建概率统计模型并 ...

  8. linux全部命令

    linux全部命令 一.安装和登陆命令1.进入图形界面startx 2.进入图形界面init 5 3.进入字符界面init 3 4.登陆login 5.关机poweroff-p 关闭机器的时候关闭电源 ...

  9. CAD 快捷键Ctrl+2 Ctrl+3

    今天用cad,学习了两个快捷键,第一个Ctrl+2,打开如下 第二个是Ctrl+3,打开如下:

  10. HTML-Canvas03

    颜色合成 globalCompositeOperation 属性: //先绘制一个图形. ctx.fillStyle = "#00ff00"; ctx.fillRect(10,10 ...