Floodlight控制器創建一個模塊的簡單過程

假設floodlight和eclipse的安裝以及配置已經完成,如果還沒有,請參考:

https://floodlight.atlassian.net/wiki/display/floodlightcontroller/Installation+Guide

 

很簡單的過程,大神就不用看了,主要是記下來方便自己以後用,也給需要的人蔘考,以下過程全部在eclipse中操作完成

1、  在floodlight項目的src/main/Java包上右鍵新建Java類,填上包路徑和Java類名以及繼承的類(繼承的類一般都包括"IOFMessageListener" "IFloodlightModule"),然後就會自動生成一些需要重寫的函數。

 

2、 爲了使我們新建的這個類監聽到OpenFlow消息,需要在FloodlightProvider (一個IFloodlightProviderService類)註冊我們的類。

 

3、  我們需要修改getModuleDependencies()函數,用來告訴模塊裝載器我們依賴它。getModuleDependencies()函數是第一步添加父類後自動生成的函數。

 

4、  接着編寫init方法,init方法在控制器啓動的時候就會調用,用來加載依賴模塊和初始化數據結構

 

5、  然後實現基本的監聽器,在startUP方法中註冊PACKET_IN消息

 

6、  爲OFMessage監聽器加上一個ID,這步在getName()中實現

 

7、  關鍵的一步,定義接收到PACKET_IN消息後的行爲,在receive()中實現,返回Command.CONTINUE以允許這個消息繼續被其他的消息處理模塊接收到。

 

8、  我們還需要爲之前我們創建的模塊註冊,這樣floodlight啓動的時候就可以加載我們的模塊,在這一步,首先我們得告訴加載器我們的模塊的存在,這可以在src/main/resources/META-INF/services/net.floodlightcontroller.core.module.IFloodlightModule文件裏添加我們的模塊的類

 

9、  最後,我們還必須在floodlight模塊配置文件中添加我們創建的模塊,這個是在src/main/resources/floodlightdefault.properties文件裏的floodlight.modules裏添加我們的包和類的全路徑。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章