Openflow Plugin学习笔记3】的更多相关文章

MDController.java 中的start方法,创建了SwitchConnectionHandlerImpl实例 SwitchConnectionHandlerImpl switchConnectionHandler = new SwitchConnectionHandlerImpl(); 在SwitchConnectionHandlerImpl从命名理解即为交换机连接处理,在其构造方法中创建了QueueProcessorLightImpl实例.随后在start方法中调用了init方法对…
OpenDaylight OpenFlow Plugin 过载保护 过载保护 OF Plugin中的过载保护按如下流程工作: ConnectionConductor将消息送入队列,是最靠近OFJava的部分,其中的on*Message方法监听协议栈入消息.ConnectionConductor实现类(ConnectionConductorImpl)将消息送入QueueKeeper,每个ConnectionConductor拥有一个本地的QueueKeeper实例. QueueKeeper拥有两条…
主入口 ConfigurableOpenFlowProviderModule是OpenFlowPlugin中启动加载的入口,如下: @Override public java.lang.AutoCloseable createInstance() { pluginProvider = new OpenflowPluginProvider(); pluginProvider.setDataBroker(getDataBrokerDependency()); pluginProvider.setNo…
本文主要详述OpenFlow Switch的另外两个主要组件——Group Table和Meter Table,它们在整个OpenFlow Swtich Processing中也起到了重要作用. 1.Group Table Group Table给OpenFlow Switch提供了更加高级的数据包转发特性(比如select或者all),其由多个Group Entries组成,而每个Group Entry结构如下所示: 每个Group Entry根据其Group Identifier来唯一定位,…
这次我们着重详述来自于网络中的数据包在OpenFlow Switch中与Flow Entries的具体匹配过程,以及当出现Table Miss时的处理方式,下面就将从这两方面说起. 1.Matching 当一个来自于外部网络的数据包进入到OpenFlow Switch中时,OpenFlow Switch将会按照如下图所示的方式来处理这些数据包,如前面的学习笔记中讲述的那样,会先从Pipeline的第一个Flow Table首先进行Lookup,然后可能继续进入到其他的Flow Table进行Lo…
OpenFlow Switch v1.4.0规范是在2013年10月14号发布,规范涵盖了OpenFlow Switch各个组件的功能定义.Controller与Switch之间的通信协议Open Flow Protocol等.下文主要是基于个人理解整理的一些学习笔记,理解不到位的地方还请大家多多指教. 一.基础概念图: 首先我们先看下Open Flow Switch的整体结构,以便有一个初步的感性认识,如下图所示: 从上面架构图中,我们可以看到Open Flow Switch主要是由以下几个部…
Matching Fields in_port=port Matches OpenFlow port port dl_vlan=vlan Matches IEEE 802.1q Virtual LAN tag vlan. dl_vlan_pcp=priority Matches IEEE 802.1q Priority Code Point (PCP) priority, which is specified as a value between 0 and 7, inclusive. A hi…
本文主要重点讨论OpenFlow Switch规范的指令集,它们深刻影响着数据包在Switch中的处理行为,下面开始从以下几个部分谈起. 1.Instructions 每一个Flow Entry里都包含有一系列的Instructions,这些Instructions会在与该Flow Entry成功匹配的数据包上执行,进而导致数据包头信息的修改.Action Set的更新或者改变Pipeline Processing的处理行为.Instructions大致有下列几种类型,OpenFlow Swit…
这次我们主要讨论下OpenFlow Switch的核心组件之一——Flow Tables,以了解其内部的 matching 以及 action handling 机制.下文将会分为几个部分来逐步详述OpenFlow Switch内部数据包的流转机制. 1.Pipeline Processing 遵循OpenFlow Switch规范的OpenFlow交换机大致分为 OpenFlow-only 和 OpenFlow-hybrid 两类.OpenFlow-only 交换机仅仅只支持OpenFlow规…
OpenFlow Ports是OpenFlow Switch与剩余网络之间传递Packet的网络接口.OpenFlow Switches之间通过OpenFlow Ports彼此相互逻辑连接.一个OpenFlow Switch准备了若干个可用的OpenFlow Ports用于OpenFlow processing,不过这里所说的OpenFlow Ports与传统的硬件交换机的网络接口并不是一样的概念,有些传统硬件交换机的网络接口在OpenFlow Switch里并不适用,OpenFlow Swit…
目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project Object Model)有一个基本的理解 目前不准备深入学习maven故此使用工具ideaj 来帮助学习, 用idea创建一个默认的maven工程,结构如下: 使用idea自带的工具运行maven命令的时候可能会遇到异常: -Dmaven.multiModuleProjectDirectory sy…
目录 WeX5学习笔记... 1 1.轻松看透WeX5产品能力和技术... 1 2.WeX5可以怎么玩?... 3 一.纯本地App. 3 二.关联一个网站,希望默认就打开某页... 4 三.UI设计器... 4 四.打包神器... 4 五.标准玩法... 4 3.WeX5 App与服务端交互原理... 4 4.Account示例程序... 5 5.Takeout示例程序... 7 5.1Index.w.. 7 5.2mapActivity.w.. 13 问题... 13 6.页面间交互视频..…
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5575843.html 时间:6/11/2016     说明: 在本文发表的时候(2016-06-11),Ionic2是beta版本,所有还是会有一些改动比较大的地方: 点击查看 , 比如beta8版本(2016-06-06),相较于前面的版本就有一个特别大的改动的地方: @App and @Page should be replaced with @Component 基于这种情况,大家还是静静…
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5559927.html               Ionic2提供了访问本地设备的方法,但是需要安装Cordova依赖,我们以调用摄像头拍照为例来说明: 进入项目目录:cd MyFirstApp npm install ionic-native –save 增加调用Camera的插件:ionic plugin add cordova-plugin-carmera 在Home.html中,增加如下代…
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5557947.html              Ionic2可以有两种方式来存储数据,Local Storage和SQLite     LocalStorage     因为比较容易访问,所以不适合存比较敏感性的数据 比如可以存储: 用户是否登录的信息. 一些session信息等 具体用法: 进入项目目录:cd MyFirstApp 在主页设置一个按钮,点击按钮,获取LocalStorage的数据…
---------------------------------------------------------------------------------------------------------------------------- 小记: 一直都是用公司自己研发的自动化工具,对市面开源的自动化工具知之甚少,所以开始自学开源的自动化工具. 初步学习中,难免会有疏漏和想不到的地方,随着不断深入的了解,可能会觉得现在的笔记很可笑,不过有新的体会,我会及时修改,不断进步. 2014-1…
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyrunner.Athrun.appium,目前仍在了解学习android测试框架.CTS等.本文主要为前段时间学习总结,由于刚接触不久,故本文难免会有些肤浅,大神请绕走~ [目录] 1.Monkeyrunner简介 2.Monkeyrunner工具特性 3.Monkeyrunner工具同Monkey工…
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可以部署在Jetty服务器上,以下是调试过程. 一.开发环境 Java: JDK7 Eclipse: Eclipse Java EE IDE for Web Developers ,Version:Luna Release (4.4.0) Maven: 3.2.5 Tomcat: 7 二. 配置Tom…
1.路径引用问题 一个css.jsp.html.或者javascript文件从从一个工程复制到另一工程,如果引用的时候使用的时相对路径,看似没有错误,但是却一直引用不进来,这时候要使用绝对路径,这样才能将原来的工程名改成现在的工程: 2.el处理form表单数据问题 我们常用:    request.getParameter(String name)和    request.getParameterValues(String name) 取得用户在表单中输入的数据,但在EL中可以使用隐含对象pa…
转自:http://blog.csdn.net/lee353086/article/details/45919901 NSIS学习笔记Date:2015-05-20Author:kagulaEnv:VS2013Update4.nsis-2.46.5-Unicode-setup.exe.CoolSoft_NSISDialogDesigner_1.4.0.eclipse-jee-kepler-SR2-win32.Win7-64bits 设置NSIS环境Step1:(编译NSIS脚本)从http://…
jfinal框架教程-学习笔记 JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java 语言所有优势的同时再拥有 ruby.python.php 等动态语言的开发效率!为您节约更多时间,去陪恋人.家人和朋友!(鼓掌!~~) JFinal 有如下主要特点:   MVC 架构,设计精巧,使用简单   遵循 COC 原则,零配置,无 xml   独创 Db + Re…
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库. ③.JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "PingFang TC Semibold"; color: #000000 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0…
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity…
Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后在解压好的maven客户端的文件夹内打开conf文件夹,修改里面的settings.xml文件 然后只需要修改这一行就可以了 ,把这一行替换成你自己本地的maven仓库的路径 最好是自己有一个完整点的maven仓库,然后把这个修改过的xml文件放到maven仓库下 到这里,你本地的maven客户端环…
本篇内容,紧接上一篇内容Mybatis学习笔记一 输入映射和输出映射 传递简单类型和pojo类型上篇已介绍过,下面介绍一下包装类型. 传递pojo包装对象 开发中通过可以使用pojo传递查询条件.查询条件可能是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如查询用户信息的时候,将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数.包装对象即Pojo类中的一个属性是另外一个pojo. 演示:根据用户名模糊查询用户信息,查询条件放到QueryVo的user属性中. 1.…
ansible学习笔记一 参考博客: ansible学习 - 51CTO博客 一.安装 1 .下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 安装 yum install -y ansible 二.ansible 命令格式及使用 1,ansible Usage: ansible <host-pattern> [options] -a MODULE_ARGS # 模块参数…
gPRC学习笔记 gPRC基础教程. gPRC官方文档. protobuf 3.0的简易教程. 什么是RPC RPC(remote procedure call) -- 远程过程调用(相对于本地调用的概念). 本地调用 ex:本地的函数调用 在函数调用的时候,一般会经过几个步骤 返回地址入栈 参数入栈 提升堆栈空间 函数参数的复制 执行函数调用 清空堆栈 为什么需要RPC? ex:两台机器 一台机器想调用另一台机器的函数执行某个功能 由于是两个不同的进程 我们无法使用函数指针来调用该函数 而只能…
最近在学习springcloud,抽空记录下学习笔记;主要记录Eureka的实现过程和高可用性的实现 Eureka是一个服务治理框架,它提供了Eureka Server和Eureka Client两个组件,服务端提供服务注册服务,服务启动后会在Server中进行注册,这样eureka服务端就有了各个服务的详细信息(如服务名.端口),这些信息可以在Eureka Server提供的web界面看到:Eureka Client是一个客户端,用于和服务端进行交互; 开发一个Eureka的服务其实很简单,就…
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可以部署在Jetty服务器上,以下是调试过程.首先新建一个Maven的Web 项目,可以参考:Maven学习笔记-04-Eclipse和Maven集成 一.开发环境 Java: JDK7+ Eclipse: Eclipse Java EE IDE for Web Developers ,Version…