1.准备
确保jdk1.8及以上。并安装git、ant、mininet(均可直接sudo apt-get install git、ant或mininet安装)。
2.安装Floodlight
2.1下载源
git clone git://github.com/floodlight/floodlight.git
2.2 编译安装
cd floodlight ant
若jdk不是1.8版本,会报错。
2.3 运行
java -jar target/floodlight.jar
启动后,通过浏览器访问floodlight的管理界面,http://localhost:8080/ui/index.html结果出现管理界面无法访问。
解决方法如下:方法一:需要通过git Submodule命令进行一系列的设置,通过命令行(这边稍微解释下git Submodule命令,git Submodule 是一个很好的多项目使用共同类库的工具,他允许类库项目做为repository,子项目做为一个单独的git项目存在父项目中,子项目可以有自己的独立的commit,push,pull。而父项目以Submodule的形式包含子项目,父项目可以指定子项目header,父项目中会的提交信息包含Submodule的信息,再clone父项目的时候可以把Submodule初始化。)
# git pull origin master # git submodule init # git submodule update # ant
方法二:用旧的版本0.91。
3.mininet连接Floodlight
安装控制器后,要与mininet构建拓扑结构,以数据中心网络为例,构建了一个脚本fattree.py。
sudo mn --custom /home/lyx/fattree.py --topo mytopo --controller=remote,ip=218.193.113.249,port=6633 --switch ovsk,protocols=OpenFlow10
根据实际情况将ip为floodlight所在服务器的ip,添加protocols参数指定OpenFlow协议版本。然后针对port,当6633web界面没有反应时,试着换着用6653,有可能6633被占用了,特别是floodlight version1.2 (特别提醒)
mn为mininet启动命令。
--mac指定虚拟主机的mac地址顺序编号,若不带此参数则随机编号
--controller指定of交换机的控制器
--switch指定虚拟交换机的类型,ovsk表示虚拟交换机为ovs Kernel mode
--custom指定自定义拓扑文件
--topo指定加载拓扑的名字
4.注意
做完试验后,需将floodlight和mininet关闭,别直接关机,否则端口被占用。