P4factory ReadMe Quickstart 安装p4factory
操作系统:
Ubuntu 14.04
前言
在之前,我直接从P4.org给的GitHub网址上下载了p4factory,但是在根据ReadMe的内容进行QuickStart的时候,发生了shell脚本cd错误。
在得到了国际友人的帮助之下,我发现首先要把这个仓库fork过来,然后在自己的fork分支下进行修改。
询问及解答的地址:When I fellow the step in ReadMe: ./autogen.sh, I found a problem
PS:不知道怎么感谢人家,于是点了他的关注。
准备过程:Git操作
参考我的前一篇博文:Git 使用ssh密钥
在文章的最后,顺便把GitHub上的P4factory内容clone了下来。
实际操作过程(参考ReadMe)
Important: git submodules
We often update the submodules for this repo. This is why we recommend that you run the following command whenever pulling the latest version of master:
git submodule update --init --recursive
在之前的尝试中,我直接拷贝了原master的zip,但是并没有从git中下载下来submodules的内容,导致文件夹为空。
在cd进p4factory之后,执行该操作:
Quickstart
To install all the Ubuntu 14.04 dependencies, run
./install_deps.sh
Before running the simulator, you need to create veth interfaces that the simulator can connect to. To create them, you need to run:
sudo p4factory/tools/veth_setup.sh
We use autoconf tools to generate makefiles. Run the following commands to prepare your workspace.
cd p4factory
./autogen.sh
./configure
注意:上述各步结束之后,都会返回p4factory目录。
To validate your installation and test the simulator on a simple P4 target, do the following:
cd p4factory/targets/basic_routing/
make bm
sudo ./behavioral-model
To run a simple test, run this in a different terminal:
cd p4factory/targets/basic_routing/
sudo python run_tests.py --test-dir tests/ptf-tests/
大概的意思是,在Ubuntu上安装依赖关系,然后安装配置工具balabala,最后跑了一个例子,按照顺序一步步下来即可。
注意,命令所提到的文件名称p4factory是和ReadMe一样的,如果你是直接从原仓库下下来的话,名称是p4factory-master。
2016/9/24
P4factory ReadMe Quickstart 安装p4factory的更多相关文章
- P4factory ReadMe 剩余部分
Building and Running a Target Each P4 program (called a 'target') is set up in a directory under tar ...
- p4factory 解决“g++: internal compiler error: Killed (program cc1plus)” make error问题
参考:解决: g++: internal compiler error: Killed (program cc1plus) 在安装p4factory的时候,执行: ./install_deps.sh ...
- P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装
由于安装p4factory的步骤需要OF的支持,我需要下载p4的行为模型BMV2: thrift是支持BMV2的软件框架:nanomsg是一个实现了几种"可扩展协议"的高性能通信库 ...
- PTF 安装及简单测试 Packet Testing Framework
PTF PTF is a Python based dataplane test framework. It is based on unittest, which is included in th ...
- 安装配置dradis
github:https://github.com/dradis/dradis-ce/blob/master/README.md安装出现错误:== Copying sample files == == ...
- windows下安装KeystoneJS
安装参考: http://keystonejs.com/zh/getting-started/ http://jsnoder.com/kjs/quickstart 安装前提条件: 安装 Node.JS ...
- dubbo与zookeeper安装手册
原文 示例提供者安装 (+) (#) 安装: wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-demo-provider ...
- linux —— ubuntu 初次安装问题
本文收集了我自己安装ubuntu系统时的一些想法和遇到的一些问题,以及一些我自己感兴趣的软件的安装方法等 1. 50G ubuntu 分区方案 <plan> <key> / & ...
- CentOS 如何安装git server + Gitolite 【配置不成功需要再测试2015-8-20】
安装git 关于安装git 可以参考 http://gitolite.com/gitolite/install.html 里面有官方的介绍 1. Git 的工作需要调用 curl,zlib,open ...
随机推荐
- c# 数据库数据与DataGridView表控件的绑定
public Form1() { InitializeComponent(); //连接数据库 string str = "Data Source=IP;Initial Catalog=数据 ...
- mysql日期处在某两个时间段之间的between比较
where SYSDATE() between '2018-08-28 09:21:48' and '2018-08-28 09:25:48' sysdate()等于2018-08-28 09:23: ...
- SQL---->数据库表设计思想
数据,一对多: 多的表中加外健约束 数据,多对多: 创建中间表,中间表中有关系对应的外健约束 数据一对一: 主从关系,从表中加外健约束,加唯一约束,加非空约束!!!!! 一张表中-自连接:(理论可以, ...
- scrapy之定制命令
单爬虫运行 import sys from scrapy.cmdline import execute if __name__ == '__main__': execute(["scrapy ...
- 【Python】两个for循环嵌套练习
要求:取下方篮框中内容并写入csv文件中.用两个for循环将每一行取出来作为一个元素存放到新数组中. # coding=utf-8 from selenium import webdriver fro ...
- java8工具类使用
1:map的使用 computeIfPresent ,如果键已经存在,将键和值作为参数传到函数式中,计算返回新的值 import java.util.HashMap; import java.util ...
- 找回 linux root密码的几种方法
第1种方法: 1.在系统进入单用户状态,直接用passwd root去更改 2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下: Java代码 #> c ...
- JDBC连接数据库(一)
原文地址http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含7个步 ...
- 2.1 The Object Model -- Classes and Instances(类和实例)
一.Defining Classes(定义类) 1. 定义一个新的Ember类,调用Ember.Object上的extend()方法: example:定义了一个含有say()方法的新的Person类 ...
- 5.7 Components — Sending Actions From Components to Your Application
一.概述 1. 当一个组件在模板中被使用时,它具有发送action到这个模板的controller和routes的能力.当重大事件发生的时候,这些允许组件通知application,比如点击组件一个特 ...