POX学习笔记:POX接收OpenFlow消息的处理流程分析
来源:互联网 发布:绅士mmd动作数据下载 编辑:程序博客网 时间:2024/06/05 06:06
首先boot()调用of_01.launch()向core中注册了一个OpenFlow_01_Task的类的组件,并且把这个组件明明为"of_01"。
在这个类中有一个run方法会轮询所有socket,包括用来监听连接请求的listener和维持与OVS连接的socket,每一个和OpenFlow交换机的连接都会生成一个Connection类的实例,当收到OpenFlow消息之后,会调用Connection类中定义的read()方法来检查这个OpenFlow消息的头部是不是符合规范,包头部中的length是不是和包本身的长度相符,是何种类型的OpenFlow消息等,最终交给相应的handle函数来进行处理。
在read()方法中,会根据解析出的OpenFlow类型调用unpackers函数,实际上是调用了libopenflow_01.py中定义的每种OpenFlow消息的类中的unpack方法,生成一个赋过值的该类的实例。
值得注意的是可能会出现几个OpenFlow消息在一个TCP包中的情况,这里采用顺序解析的方式,每解析完一个OpenFlow消息,就会得到一个新的offset,从而解析下一个OpenFlow消息。
(原创博文,转载请声明出处)
0 0
- POX学习笔记:POX接收OpenFlow消息的处理流程分析
- POX学习笔记之POX的启动
- POX学习笔记之POX拓扑发现原理分析
- openflow pox操作命令
- pox
- POX学习笔记:事件系统分析
- POX学习笔记:添加事件监听的方法(POX事件系统后续)
- POX控制器的分析(一)
- POX控制器的分析(二)
- POX启动过程分析
- 学习pox心得
- pox控制器学习总结
- POX学习笔记:从POX启动开始——boot.py文件解读
- POX及组件启动分析
- ovs处理openflow消息的流程
- POX学习笔记之组件注册与事件
- POX学习笔记之事件与对应模块总结
- POX学习笔记之事件与对应模块总结
- CentOS7中开机出现end_request:I/O error,dev fd0,sector 0的解决办法
- Android开发实践:使用Service还是Thread
- oracle中minus的用法
- cocos2d-x与excel通过xml文件读写双向交互(上)
- Erlang cowboy websocket 服务器
- POX学习笔记:POX接收OpenFlow消息的处理流程分析
- 相机标定之三种坐标系间的映射关系
- SAE+wordpress邮箱问题,WP MAIL STMP插件配置但无效解决办法
- mac10.9下eclipse的storm入门及开发环境搭建
- Maven新建项目的JDK版本类型问题
- 物理引擎
- 看的叮咛和渴望
- artDialog对话框组件使用心得,其功能完善,接口友好,提供多套皮肤,支持iframe跨页面扩展
- Android 动画之ScaleAnimation应用详解