操作系统:

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的更多相关文章

  1. P4factory ReadMe 剩余部分

    Building and Running a Target Each P4 program (called a 'target') is set up in a directory under tar ...

  2. p4factory 解决“g++: internal compiler error: Killed (program cc1plus)” make error问题

    参考:解决: g++: internal compiler error: Killed (program cc1plus) 在安装p4factory的时候,执行: ./install_deps.sh ...

  3. P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装

    由于安装p4factory的步骤需要OF的支持,我需要下载p4的行为模型BMV2: thrift是支持BMV2的软件框架:nanomsg是一个实现了几种"可扩展协议"的高性能通信库 ...

  4. PTF 安装及简单测试 Packet Testing Framework

    PTF PTF is a Python based dataplane test framework. It is based on unittest, which is included in th ...

  5. 安装配置dradis

    github:https://github.com/dradis/dradis-ce/blob/master/README.md安装出现错误:== Copying sample files == == ...

  6. windows下安装KeystoneJS

    安装参考: http://keystonejs.com/zh/getting-started/ http://jsnoder.com/kjs/quickstart 安装前提条件: 安装 Node.JS ...

  7. dubbo与zookeeper安装手册

    原文 示例提供者安装 (+) (#) 安装: wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-demo-provider ...

  8. linux —— ubuntu 初次安装问题

    本文收集了我自己安装ubuntu系统时的一些想法和遇到的一些问题,以及一些我自己感兴趣的软件的安装方法等 1. 50G ubuntu 分区方案 <plan> <key> / & ...

  9. CentOS 如何安装git server + Gitolite 【配置不成功需要再测试2015-8-20】

    安装git 关于安装git  可以参考 http://gitolite.com/gitolite/install.html 里面有官方的介绍 1. Git 的工作需要调用 curl,zlib,open ...

随机推荐

  1. session.setAttribute和session.getAttribute

    网上搜了些资料 ----------------------------------------------------------------------------- B/S架构中,客户端与服务器 ...

  2. sencha touch 入门系列 (六)sencha touch运行及代码解析(下)

    接着上一讲,通过index.html里development.js对app.json里js资源文件的解析,app.js便被index.html引入了, app.js是整个项目的程序入口,在项目完成时使 ...

  3. MACOS配置VIM成简单IDE傻瓜式操作

    零.参考文献: https://www.jianshu.com/p/f0513d18742a 一.安照我的配置:保存文件 " Configuration file for vim " ...

  4. WEB安全第六篇--千里之外奇袭客户端:XSS和HTML注入

    零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...

  5. Android - XML序列化

    1.xml文件的序列化:采用XmlSerializer来实现XML文件的序列化.相比传统方式,更高效安全 MainActivity.java package com.example.test_buil ...

  6. 最小树形图(poj3164)

    Command Network Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 12834   Accepted: 3718 ...

  7. A Benchmark Comparsion of Monocular Visual-Inertial Odometry Algorithms for Flying Robots论文笔记

    摘要: 本文主要比较单目VIO的算法在飞行机器人上运行的性能,测试使用统一数据集为EuRoC.其中评价指标为:姿态估计精度.每帧处理时间以及CPU和内存负载使用率,同时还有RMSE(运行轨迹与真实轨迹 ...

  8. vitess基础镜像构建流程Centos

    以下列出了构建vitess使用的Centos镜像的简单流程,由于较早基础版本是Centos7.2的,重新构建可以基于最新的Centos版本构建 1.基础镜像拉取 #拉取官方版本 docker pull ...

  9. flask中Flask()和Blueprint() flask中的g、add_url_rule、send_from_directory、static_url_path、static_folder的用法

    1.Blueprint()在蓝本注册函数register_blueprint()中,第一个参数为所注册的蓝本名称.当我们在应用对象上注册一个蓝图时,需要指定一个url_prefix关键字 参数(这个参 ...

  10. 基于Nginx+FastDFS搭建图片文件系统

    Nginx+fastdfs:https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label0_1 缩略图:https://blog.csdn.net/ ...