PISCES P4-vSwitch 安装以及一次失败的测试
本文参考
(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 安装以及一次失败的测试的更多相关文章
- Fedora 21 安装 Nvidia 驱动以及失败后的补救方法
在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...
- CentOS 6.3 中安装VirtualBOX增强工具失败:Building the main Guest Additions module[FAILED]
在VirtualBox里安装CentOS系统,会遇到“增强工具”无法正常安装,主要的原因是出在Kernel 库找不到. 错误提示如下: 通过查看日志文件: cat /var/log/vboxadd- ...
- 宿主系统为Ubuntu 14,CentOS 6.5 安装VirtualBox增强工具失败:Building the OpenGL support module[FAILED]
安装先前的笔记:CentOS 6.3 中安装VirtualBOX增强工具失败:Building the main Guest Additions module[FAILED],执行了以下命令 #安装 ...
- Ubuntu 下安装 apt-get install npm 失败的解决方案
Ubuntu 下安装 apt-get install npm 失败的解决方案: sudo apt-get remove nodejs npm ## remove existing nodejs an ...
- Oracle安装时先决条件检查失败的解决方案
Oracle安装时先决条件检查失败的解决方案 [java] 安装环境:Win7-64bit专业版,内存6G,硬盘空间足够 安装版本:Oracle Database 11g Release 2 (1 ...
- win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误
前言 在客户的服务器电脑安装net4.6,提示安装失败错误,最后顺利成功安装net4.6. 一.错误 1.win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1.w ...
- [转载]安装Oracle11gR2先决条件检查失败的详细解决处理过程
原文地址:安装Oracle11gR2先决条件检查失败的详细解决处理过程作者:四海名汀 最近在32位Win7系统下安装Oracle11g发现一系列错误,现将详细的错误解决过程记录如下,以供大家参考. 一 ...
- 阿里云的云虚拟主机安装dede提示数据库连接失败的解决办法
问题描述 阿里云的云虚拟主机安装dede提示数据库连接失败 问题分析 连接数据库失败,可能数据库密码不对或数据库服务器出错! 解决方案 1.通过ftp软件查看htdocs/data/common.in ...
- 安装程序配置服务器失败。参考服务器错误日志和C:\windows\sqlstp.log 了解更多信息
重装sql经常遇到2个问题 1,以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机. 删除C:\Program Files\Microsoft SQL Serve ...
随机推荐
- Sublime Text 3 破解+ 汉化包
破解: 第一步:打开主文件搜索十六进制F7D81AC02005 修改1AC0为B001 第二步:搜索 F3FF8BC7E895 修改其中的8BC7为33C0 第三步:过阻拦未注册提示 搜索 0F859 ...
- 数列(codevs 1141)
题目描述 Description 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13 ...
- Struts2中配置默认Action
1.当访问的Action不存在时,页面会显示错误信息,可以通过配置默认Action处理用户异常的操作:2.配置方法: 在struts.xml文件中的<package>下添加如下内容: ...
- phpStorm支持CodeIgniter代码提示/自动完成
下载这个文件phpstorm-ci-ac 或者去github下载解压里面的三个文件到ci根目录下然后找到这三个文件 system\core\Controller.phpsystem\core\Mode ...
- 蓝桥杯 入门训练 Fibonacci数列(水题,斐波那契数列)
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非 ...
- Centos6.4编译安装Node.js(已验证)
1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...
- EntityFramework 6.0< Code First > 连接 Mysql数据库(转)
http://blog.csdn.net/kmguo/article/details/19650299 网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多 ...
- mysql一次插入多条数据
mysql一次插入多条数据: INSERT INTO hk_test(username, passwd) VALUES ('qmf2', 'qmf2'),('qmf3', 'qmf3'),('qmf4 ...
- 结合ItemsControl在Canvas中动态添加控件的最MVVM的方式
今天很开心的收获: ItemsControl 中 ItemsPanel的重定义和 ItemContainerStyle 以及 ItemTemplate 三者的巧妙结合,在后台代码不实例化任何控件的前提 ...
- 递推DP URAL 1167 Bicolored Horses
题目传送门 题意:k个马棚,n条马,黑马1, 白马0,每个马棚unhappy指数:黑马数*白马数,问最小的unhappy值是多少分析:dp[i][j] 表示第i个马棚放j只马的最小unhappy值,状 ...