P4-Related Tools Installation

安装P4相关工具的步骤和说明。

本说明只适用于 Ubuntu 14.04 系统。

推荐安装的其他工具

  • mininet:SDN网络仿真工具

  • vim:编辑器

  • scapy:Python的一个功能十分强大的库,可以用于生成数据报

  • pip:Python包管理工具

P4Factory

官方README:P4 Model Repository

注意:如果你对P4已经很熟悉并且能够独立搭建环境,这个repo已经不大适合现在的P4开发了(使用bmv1软件交换机),建议是使用bmv2搭建环境并进行相关开发。

1.安装外部引用的库:

  1. git submodule update --init --recursive

2.安装Ubuntu14.04系统下所需的所有依赖:

  1. ./install_deps.sh

3.在启动模拟器之前,需要创建虚拟的端口:

  1. sudo p4factory/tools/veth_setup.sh

4.使用autoconf工具生成Makefile,并对工作环境进行配置:

  1. cd p4factory
  2. ./autogen.sh
  3. ./configure

5.验证安装是否成功,并测试一个简单的P4程序:

  1. cd p4factory/targets/basic_routing/
  2. make bm
  3. sudo ./behavioral-model

同时新打开一个终端进行测试:

  1. cd p4factory/targets/basic_routing/
  2. sudo python run_tests.py --test-dir tests/ptf-tests/

BMv2

官方README:BEHAVIORAL MODEL REPOSITORY

1.Ubuntu 14.04下要求安装的依赖:

  1. automake
  2. cmake
  3. libjudy-dev
  4. libgmp-dev
  5. libpcap-dev
  6. libboost-dev
  7. libboost-test-dev
  8. libboost-program-options-dev
  9. libboost-system-dev
  10. libboost-filesystem-dev
  11. libboost-thread-dev
  12. libevent-dev
  13. libtool
  14. flex
  15. bison
  16. pkg-config
  17. g++
  18. libssl-dev

2.使用脚本安装外部依赖库,如thrift。

注意:如果已经安装了P4Factory,请忽略此步,否则会有一系列的版本不匹配问题。

  1. ./install_deps.sh

3.按照以下步骤安装bmv2:

  1. ./autogen.sh
  2. ./configure
  3. make
  4. [sudo] make install # if you need to install bmv2

4.更新Linux库缓存:

  1. sudo ldconfig

5.检验:

  1. [sudo] make check

P4c-bm

官方README:p4c-bm

1.要求安装好pip;

2.安装步骤:

  1. sudo pip install -r requirements.txt
  2. sudo pip install -r requirements_v1_1.txt
  3. sudo python setup.py install

Happy Hacking

P4-Related Tools Installation的更多相关文章

  1. 【转】VMware Tools installation cannot be started manually while Easy Install is in progress.

    我HOST 是WIN7也遇到了这样的问题 我这样做的:进入系统以后在你VM的下面会有几个图标:关于1,CD DVD 2,disk 3,floppy 4,网络连接... 选择floppy--settin ...

  2. Xcode 8.X Command Line Tools

    Summary Step 1. Upgrade Your System to macOS Sierra Step 2. Open the Terminal Application Step 3. Is ...

  3. Development Tools

    Introduction Even Chris created his article of Useful Reference Books ages ago I just bumped into it ...

  4. Xcode Command Line Tools for Mac OS X 10.9 Mavericks

    by Daniel Kehoe Last updated 28 December 2013 How to install Apple Xcode Command Line Tools for Mac ...

  5. 转 How to install XenServer Tools – Linux(forward)

    本文转自: http://blog.csdn.net/zhongguoren666/article/details/7088798 比较懒....大家看图说话就行了.... 说句实在话…还是老外写的地 ...

  6. Ubuntu下手动安装VMware Tools步骤

    To mount the CD image and extract the contents: Power on the virtual machine. Log in to the virtual ...

  7. 四、VMware Tools 安装 与 问题

    解决VMware Tools无法安装的问题 虚拟机上装win2kgho版的系统,安装VMware Tools时,遇到“VMware Tools installation cannot be start ...

  8. 虚拟机 VMware Tools 安装

    Ubuntu 或具有图形用户界面的 Ubuntu Server 要挂载 CD 镜像并解压,请按以下步骤操作: 启动此虚拟机. 使用具有管理员权限或 root 用户权限的帐户登录此虚拟机. 选择:对于F ...

  9. systemtap 2.8 news

    * What's new in version 2.8, 2015-06-17 - SystemTap has improved support for probing golang programs ...

随机推荐

  1. 启动InnoDB引擎的方法

    启动InnoDB引擎的方法 http://down.chinaz.com/server/201207/2090_1.htm 启动InnoDB引擎的方法 Mysql中默认的是MyISAM数据引擎,可惜此 ...

  2. mysql备份工具innobackupex,xtrabackup-2.1的原理和安装

    mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1. ...

  3. 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载

    一.GatewayProperties 1.1.在GatewayAutoConfiguration中加载 在Spring-Cloud-Gateway初始化时,同时GatewayAutoConfigur ...

  4. [py]django url 参数/reverse和HttpResponseRedirect

    参考 需要完成以下任务 - 访问http://127.0.0.1:8000/ 返回"hello maotai"或home.html - 访问http://127.0.0.1:800 ...

  5. CentOS6.5安装Twemproxy集群

    Twemproxy,也叫Nutcraker.是一个Twtter开源的一个Redis和Memcache代理服务器. Redis作为一个高效的缓存服务器,非常具有应用价值.但是当使用比较多的时候,就希望可 ...

  6. 【设置】Nginx配置文件具体配置解释

    #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...

  7. PHP查询MySQL大量数据的内存占用分析

    这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于M ...

  8. VCS中的覆盖率分析

    VCS在仿真过程中,也可以收集Coverage Metric.其中覆盖率类型有: 1)Code Coverage:包括control_flow和value两部分的coverage,line_cover ...

  9. 《算法C语言实现》————快速-查找算法(quick-find algorithm)

    算法基础是一个整型数组,当且仅当第p个元素和第q个元素相等时,p和q时连通的.初始时,数组中的第i个元素的值为i,0<=i<N,为实现p与q的合并操作,我们遍历数组,把所有名为p的元素值改 ...

  10. 最短路径-----迪杰斯特拉算法(C语言版)

    原文:http://blog.csdn.net/mu399/article/details/50903876 转两张思路图非常好:   描述略   图片思路很清晰.  Dijkstra不适用负权值,负 ...