今天试了一下ns3官方提供的例子external-controller.cc
,这个例子通过TapBridgeHelper
将ns3的代码中运行的node与外部的controller通信。终于成功通过了。
但是好像是版本不对。
于是找到floodlight项目的网站上的Setting the OpenFlow Version上说
The problem might be that the switch does not like Floodlight advertising a higher OpenFlow version than the switch supports itself.
要修改floodlight项目中的src/main/resources/floodlightdefault.properties
将
net.floodlightcontroller.core.internal.OFSwitchManager.supportedOpenFlowVersions=1.0, 1.1, 1.2, 1.3, 1.4, 1.5
修改为
net.floodlightcontroller.core.internal.OFSwitchManager.supportedOpenFlowVersions=1.0, 1.1, 1.2, 1.3
即最大版本只是1.3
修改之后,再次运行
➜ floodlight-master git:(master) ✗ java -jar target/floodlight.jar
成功!
还显示了ns-3 team的信息。