介绍
Description
FloodlightProvider提供两个主要功能。
第一个功能:它处理到交换机的连接,并将OpenFlow消息转换为其他模块可以监听的事件。
第二个大功能:是确定特定的OpenFlow消息(即packetin、flowremoved、portstatus等)发送到侦听消息的模块(listern moduel)的顺序。然后,模块可以决定允许消息处理转到下一个侦听器,或者停止处理消息。
Services Provided
这个模块设计到的服务:IFloodlightProviderService
Service Dependencies 依赖的服务
- IStorageSourceService
- IPktinProcessingTimeService
- IRestApiService
- IDebugCounterService
- IDebugEventService
- IThreadPoolService
- ISyncService
- IOFSwitchService
Java File
该模块在net.flowlightcontroller.core.internal.flowlightprovider.java中实现。
How it works
FloodlightProvider处理模块侦听器注册,并将事件发送到已注册的模块。其他模块可以注册特定事件,如交换机连接或断开连接以及端口状态通知。FloodlightProvider会将这些有线协议通知转换成其他模块可以处理的基于Java的消息。为了让模块注册OpenFlow消息,它们必须实现IOFMessageListener接口。
这块写一下自己理解的过程:其他模块首先实现IOFMessageListener接口,这样就可以注册Openflow消息; 而 FloodlightProvider是用来处理模块侦听器注册,当FloodlightProvider接收到Openflow消息后,FloodlightProvider将OpenFlow消息转换为其他模块可以监听的事件,并将事件发送到已注册的模块。
Limitations
none
Configuration
模块默认启用,加载模块不需要更改配置。
在官方文档中出现了一个表,不是很理解,先放到这吧
REST API
这块不是很理解,先放到这
总结
这块写一下自己理解的过程:其他模块首先实现IOFMessageListener接口,这样就可以注册Openflow消息; 而 FloodlightProvider是用来处理模块侦听器注册,当FloodlightProvider接收到Openflow消息后,FloodlightProvider将OpenFlow消息转换为其他模块可以监听的事件,并将事件发送到已注册的模块。