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.7Scapypypcap (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 ptfswitch_sai_thrift: empty directory, this is where the Python bindings to program the switch's control plane would be copiedmytests/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.pymytests/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

转载于:https://www.cnblogs.com/qq952693358/p/6106519.html

PTF 安装及简单测试 Packet Testing Framework相关推荐

  1. tomcat9安装及其简单测试

    tomcat 9安装及其简单测试 1.安装 安装yum install -y wget 在官网下载tomcat 和jdk wget 下载地址(进行下载) 将下载的压缩包放到/usr/local mv ...

  2. jdbc驱动安装以及简单测试

    最近又需要写jdbc啦,正好顺便把下载配置教程整理一下 教程分三个部分 下载jdbc驱动 配置jdbc到项目 简单连接一下数据库 1. 下载jdbc驱动 下载网址 (https://dev.mysql ...

  3. Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)

    Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...

  4. pyBoard Mini从安装到简单测试

    ▌01 PyBoard Mini 在 淘宝购买到的<Python微控制器编程 从零开始> ,其中提到了 pyBoard Mini 核心板的应用.今天购买到的PyBoard到货了.对其进行初 ...

  5. DHCP的安装到简单测试(tar方式)

    今天继续写一篇以tar方式安装DHCP服务器的文章.为什么用tar方式不用rpm,主要是因为我发现到网站上下载安装文件的时候,很难见到有最新rpm包的(等不及了,哈哈),况且网上有很多以rpm安装文章 ...

  6. 北太天元——首款国产科学计算软件安装及简单测试

    今天看到很多群里的小伙伴都在交流数模国赛,说是取消了matlab创新奖,增加了北太天元奖.这便引得大伙对这款软件展开了不小的讨论. 真假与否暂且未知,但是作为"独立自主研发的国产通用型科学计 ...

  7. Spark 安装配置简单测试

    简介 Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce ...

  8. scapy 安装及简单测试

    关于scapy Scapy的是一个强大的交互式数据包处理程序(使用python编写).它能够伪造或者解码大量的网络协议数据包,能够发送.捕捉.匹配请求和回复包等等.它可以很容易地处理一些典型操作,比如 ...

  9. Windows tesseract-OCR 的安装和简单测试

    前言 本机操作系统:win10 企业版 参考文章: tesseract 安装及使用 Win10下安装CMake3.14.2以及CMake使用教程 64位OCR:Tesseract4.1+leptoni ...

  10. RabbitMQ 安装和简单测试

    2019独角兽企业重金招聘Python工程师标准>>> 最近好多项目都有需要是用MQ的场景,以下是在安装过程记录的一些知识点,安装MQ需要先安装依赖环境,erlang和socat. ...

最新文章

  1. 2022-2028年中国香精香料行业投资分析及前景预测报告
  2. 【若依(ruoyi)】table定制列宽
  3. jwt token 太长_理解 JWT 鉴权的应用场景及使用建议
  4. STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)
  5. Civil 3D CustomDraw .NET混合项目设置
  6. 学习笔记(3):《微电子器件》陈星弼(第四版)第1章 半导体物理基础及基本方程
  7. 教师教学说课圆的认识与周长PPT模板
  8. 为什么那么多城市房价开始跌了,还是有人相信房价会一直涨?
  9. 2012云计算发展趋势
  10. DSP开发的一点概念
  11. 理财就是理生活 —— 小白理财训练营(下)
  12. Python中使用表情符emoji
  13. 离散数学-10 群与环
  14. 第十三章:项目相关方管理 - (13.1 识别相关方)
  15. java根据前序和中序建树_Java实现根据前序遍历构建二叉树(前序遍历、中序遍历、后序遍历)...
  16. 二、考研数据结构笔记——绪论(理解数据结构,算法,时间复杂度计算做题技巧)
  17. 蓝桥杯NE555模块编程
  18. PAT5-06. 航空公司VIP客户查询
  19. 阿里妈妈展示广告粗排:面向链路一致性优化的端到端序学习模型
  20. 动环监控系统中B接口的实现-c语言版

热门文章

  1. android定位4g不准,定位不准/失败的处理方法
  2. 深度摄像头linux环境下,嵌入式Linux环境下USB摄像头应用程序设计.pdf
  3. php更新mysql数据库字段_php之批量更新mysql数据库字段
  4. Landsat数据之介绍
  5. 计算机主机接口有哪些,主机接口有哪些
  6. 测试使用bytes.buffer()的单线程与多线程的写效率
  7. 上网日志留存_中国移动5G上网日志留存系统招标:最高投标总限价10亿元
  8. html 手动添加thead,HTML DOM Table createTHead() 方法
  9. 刨根系列之volatile详解 (二)
  10. 哈工大深圳计算机实验室介绍,实验室介绍