1.普通的Packet会经过哪几个函数? 2.PacketNotify.ReadHeader(Header, Reader),是怎么读的Header的。 在ReadHeader内部有利用Reader对象对operator<<的重载 在Reader对象operator<<的重载中会调用: IsByte ...
分类:
Web程序 时间:
2020-07-26 22:57:45
阅读次数:
154
前面通过阅读代码知道了怎样推断各个模块处理某个消息的先后顺序。那么内部是怎样实现的呢? 每当一个模块表示对一个消息感兴趣的时候,就会调用IFloodlightProviderService(详细有Controller类实现)的addOFMessageListener方法进行注冊订阅,核心工作是由 L ...
分类:
其他好文 时间:
2017-06-07 21:00:52
阅读次数:
237
在对OpenFlow协议有了一定了解以后,开始尝试如何通过Ryu控制器实现网络中的通信。根据协议,我们知道,当数据信息首次传输到交换机时,由于交换机不存在该数据信息所对应的流表,因此,会触发PacketIn消息,即交换机会将数据信息打包后,通过相应的交换机-控制器的专用通道将数据信息描述之后,传输给 ...
分类:
其他好文 时间:
2017-06-02 19:36:03
阅读次数:
670
当Controller和SW建立连接之后,就能够处理来自SW的各种OF msg。当接收到 packetin 消息之后,会将其分发给各个监听了这个OFMessage的listeners,所以假设我们要设计自己的控制器模块,仅仅须要实现对应的接口方法。约定运行顺序就可以。接口IListener 主要抽象
分类:
其他好文 时间:
2016-02-24 15:24:56
阅读次数:
430
前面通过阅读代码知道了如何判断各个模块处理某个消息的先后顺序,那么内部是如何实现的呢?
每当一个模块表示对一个消息感兴趣的时候,就会调用IFloodlightProviderService(具体有Controller类实现)的addOFMessageListener方法进行注册订阅,核心工作是由 ListenerDispatcher类来完成:1)每次增加一个观察者的时候都会判断其是否是...
分类:
其他好文 时间:
2014-06-26 10:23:09
阅读次数:
237
当Controller和SW建立连接之后,就可以处理来自SW的各种OF msg。当接收到 packetin 消息之后,会将其分发给各个监听了这个OFMessage的listeners,所以如果我们要设计自己的控制器模块,只需要实现相应的接口方法,约定执行顺序即可。接口IListener 主要抽象了监听器模块的名字,执行顺序,接口IOFMessageListener则抽象了我们的Controller...
分类:
其他好文 时间:
2014-06-25 07:26:35
阅读次数:
265
1. 在Main中先是加载模块,启动REST服务,而后构建一个实现了IFloodlightProviderService接口的实例(即Controller)并运行;
2. 接下来进入Controller的run()方法,此时所有的环境初始化工作已经完成,构建一个基于netty的TCP server,最重要的是流水线factory OpenflowPipelineFactory 的设置,里面是co...
分类:
其他好文 时间:
2014-06-24 22:47:40
阅读次数:
277