PISCES P4-vSwitch 安装以及一次失败的测试

时间:2023-03-09 00:39:43
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。

PISCES P4-vSwitch 安装以及一次失败的测试

但是在执行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

PISCES P4-vSwitch 安装以及一次失败的测试

这一步需要十分钟左右的等待,笔者所处的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多的闪存。。

PISCES P4-vSwitch 安装以及一次失败的测试

小提示:

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