PTF 安装及简单测试 Packet Testing Framework
PTF
PTF is a Python based dataplane test framework. It is based on unittest, which is included in the standard Python distribution.
Longer Start
需要先安装的东西:
    Python 2.7
    Scapy
    pypcap (optional - VLAN tests will fail without this)
    tcpdump (optional - Scapy will complain if it's missing)
请先安装scapy-vxlan
安装pypcap = 安装flex:the fast lexical analyser + 安装libpcap-1.7.4
Ubuntu安装Tcpdump
We recommend that you install your extension of Scapy, which you can obtain here. It adds support for additional header types: VXLAN, ERSPAN, GENEVE, MPLS and NVGRE.
注意:在执行命令的时候,应注意权限问题(sudo root)。
Install PTF
先fork下来目录:
git clone git@github.com:Wasdns/ptf.git
cd ptf
sudo python setup.py install
如何写ptf程序?
Take a look at the example directory. This is not a working example as it is (the switch is not included), but it will show you how to write tests. This directory contains the following:
    run_client.sh: a wrapper around ptf
    switch_sai_thrift: empty directory, this is where the Python bindings to program the switch's control plane would be copied
    mytests/sai_base_test.py: a wrapper Python class around PTF's BaseTest class. It is the base class for all the tests we added to mytests/switch.py
    mytests/switch.py: some example tests
可以在example目录下找到答案。
在安装p4factory的前提下,跑个样例
请先安装p4factory。
First, you need to create the required veths: 先打开虚拟接口
cd $P4FACTORY/tools/
sudo ./veth_setup.sh
注意,这里的$P4FACTORY指的是p4factory的目录。
The next step is to compile the target switch and to run it: 编译一个目的交换机,运行它
cd $P4FACTORY/targets/switch/
make bm-switchsai
sudo ./behavioral-model
Finally, you can run the example tests: 最后可以跑个例子来测试
cd <ptf-dir>/example/
sudo ../ptf --test-dir mytests/ \
     --pypath $P4FACTORY/targets/switch/tests/pd_thrift/
     --interface 0@veth1 --interface 1@veth3 --interface 2@veth5 \
     --interface 3@veth7 --interface 4@veth9 --interface 5@veth11 \
     --interface 6@veth13 --interface 7@veth15 --interface 8@veth17
这里的指的是ptf的目录。
2016/11/27
PTF 安装及简单测试 Packet Testing Framework的更多相关文章
- kafka安装和简单测试
		kafka安装和简单测试 # 安装zookeeper(apache-zookeeper-3.5.6-bin)https://archive.apache.org/dist/zookeeper/zook ... 
- NLTK的安装与简单测试
		1.NLTK简介 Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库.NLTK是一个开源的项目,包含:Python模块,数据集和教程,用 ... 
- Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
		Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ... 
- Avocado 安装和简单测试
		1.Avocado 安装 1.1 通过包安装 像Fedora可以通过rpm包进行安装,其他通过RPM管理的发行版需要自己制作相关包.Avocado同样支持DEP包的安装可以在contrib/packa ... 
- scapy 安装及简单测试
		关于scapy Scapy的是一个强大的交互式数据包处理程序(使用python编写).它能够伪造或者解码大量的网络协议数据包,能够发送.捕捉.匹配请求和回复包等等.它可以很容易地处理一些典型操作,比如 ... 
- Sqoop 安装与简单测试
		sqoop基于Hadoop与Hive Hadoop https://www.cnblogs.com/xibuhaohao/p/11772031.html Hive https://www.c ... 
- websphere8 从安装到部署 测试集群应用程序 安装j2ee程序(非常详细)
		目录1. 准备安装文件2. 安装Installation Manager3. 为Installation Manager指定安装资源库4. 创建部署管理器概要文件5. 创建定制概要文件并联合到部署管理 ... 
- Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性
		一.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求 ... 
- DbEntry.Net(Lephone Framework)  Access ORM:安装和简单使用
		项目中用到Access数据库,之前用的普通Ado.Net 三层.遇到表字段叫多时,就比较费力.想要使用ORM,无奈EF不支持Access.虽然可以改写linq to sql为Linq to Acces ... 
随机推荐
- Android之智能问答机器人
			本文主要利用图灵机器人的接口,所做的一个简单的智能问答机器人 实现 由于发送与接收消息都是不同的listView,所以要用有两个listVeiw的布局文件 接收消息布局文件 <?xml vers ... 
- ubuntu下打开终端插件
			一个 nautilus 插件,用于在任意目录中打开终端 nautilus-open-terminal 
- 注意padding-top 百分比定义基于父元素宽度的百分比上内边距!!是基于宽度
			定义和用法 padding-top 属性设置元素的上内边距(空间). 说明 该属性设置元素上内边距的宽度.行内非替换元素上设置的上内边距不会影响行高计算,因此,如果一个元素既有内边距又有背景,从视觉上 ... 
- 烟大 Contest1024 - 《挑战编程》第一章:入门   Problem B: Minesweeper(模拟扫雷)
			Problem B: Minesweeper Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 29 Solved: 7[Submit][Status][W ... 
- C++的那些事:类的拷贝控制
			1,什么是类的拷贝控制 当我们定义一个类的时候,为了让我们定义的类类型像内置类型(char,int,double等)一样好用,我们通常需要考下面几件事: Q1:用这个类的对象去初始化另一个同类型的对象 ... 
- Android 下载文件 显示进度条
			加入两个权限 一个是联网,另一个是读写SD卡 <uses-permission android:name="android.permission.INTERNET">& ... 
- Unity中制作游戏的快照游戏支持玩家拍快照
			Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家“拍快照”,也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介绍:截取矩形区域内游 ... 
- BZOJ2610 : [Poi2003]Monkeys
			考虑离线,将删边操作倒过来变成加边,等价于询问每个点什么时候与1连通 使用并查集维护,每次合并时如果有一边是1所在连通块,就把另一边的所有点的答案更新 #include<cstdio> # ... 
- 20145315 《Java程序设计》实验五实验报告
			20145315 <Java程序设计>实验五实验报告 实验五 Java网络编程 我负责服务器部分,王嘉澜负责客户端部分:http://www.cnblogs.com/SJZGM10/p/5 ... 
- WP7.1 应用程序发布到Marketplace
			从8月22起Windows Phone marketplace可以提交7.1 sdk开发的应用了,尽管提交页面和方式与7.0是同一个,但是还是会出现一些问题.并且在提交之前也注意一些问题. 7.0 应 ... 
