openflow13softwareswitch安裝及使用筆記

openflow協議代碼的大體結構如下:
1.涉及報文傳輸與生成的main函數
2.udatapath.c負責datapath (OpenFlow網絡中,每個OpenFlow實例都使用唯一的Datapath ID來標識本實例。缺省情況下,OpenFlow實例的Datapath ID由實例ID和設備橋MAC組成,用戶可以配置Datapath ID。)
3.controller.c負責controller
4.secchan.c負責安全通道
5.dpctl.c負責dp
具體代碼結構參考百度文庫:http://wenku.baidu.com/link?url=KLvgQJLI-Luk0nYqq7IIvyhr4E3nvP0LTH0P6CcFiJX-H-2pJx8DNh2IeNG-iVWBgv_gpk-960ArKSd–ye0f0ixuQ-m2-StZ3daigY2DJe

根據openflow協議的代碼結構就比較好理解軟的交換機的實現組件的組成,openflow13softwareswitch組件以及其作用:
1)ofdatapath:交換機的安裝啓用
2)ofprotocol:用來連接交換機和控制器的安全通道
3)oflib:用來轉換1.3版本格式的庫
4)dpctl:是從console口來配置switch的一個工具(這個會在另外一篇文章中詳細說明)

安裝請參考:https://github.com/CPqD/ofsoftswitch13 中給出的步驟
運行:
1)啓動datapath

sudo udatapath/ofdatapath --datapath-id=<dpid> --interfaces=<if-list> ptcp:<port>

這個命令會啓動datapath,使用給定的datapath ID和列出的接口。它將會打開一條被動的TCP連接通道在給定的端口上。如果想要獲得完整的選項列表,使用–help參數
2)啓動secure channel,這將會將第一步中啓動的datapath連接到控制器上。

secchan/ofprotocol tcp:<switch-host>:<switch-port> tcp:<ctrl-host>:<ctrl-port>

備註:這裏的switch-host就是127.0.0.1 switch-port是自己設置的端口一般爲6632或6633
這將會打開TCP連接到交換機和控制器上,基於OpenFlow協議在二者之間進行溝通。想要獲得完整的選項清單請使用–help參數。
配置:
可以使用dpctl工具向switch發送要求
例如:檢查流表0的流狀態統計

utilities/dpctl tcp:<switch-host>:<switch-port> stats-flow table=0

增加一個meter

utilities/dpctl tcp:<switch-host>:<switch-port> meter-mod cmd=add,meter=1 drop:rate=50

想要獲得完整的選項清單仍然使用–help參數
但是dpctl有一些使用限制
1.不支持OXM掩碼
2.不支持多部分消息
3.一些set_field的action fieds將不會呈現

發佈了29 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章