OpenDaylight OpenFlow1.3测试环境
原文网址:OpenDaylight OpenFlow Plugin::Test Environment1.获取支持openflow1.3的Mininet下载Mininet虚拟机文件(Mininet-of-1.3.zip,VirtualBox直接打开),也可以按照指导自己设置带有OF1.3的mininet。本文采用第一种方法,系统为Ubuntu13.04。1.1VirtualBox下的
·
原文网址:OpenDaylight OpenFlow Plugin::Test Environment
1.获取支持openflow1.3的Mininet
下载Mininet虚拟机文件(Mininet-of-1.3.zip,VirtualBox直接打开),也可以按照指导自己设置带有OF1.3的mininet。本文采用第一种方法,系统为Ubuntu13.04。
1.1VirtualBox下的安装
配置一个host-only的网络,按照如下设置:
- 在Virtualox的菜单中:管理-全局设定-网络-添加host-only网络如下图
- 虚拟机设置界面:设置-网络-网卡2-选择连接方式Host-Only
- 编辑 /etc/network/interfaces文件来正确配置网卡,如下:
auto eth1
iface eth1 inet dhcp
- 重启虚拟机
1.2最简单的选择:使用Vagrant
cd openflowplugin/vagrant/mininet-2.1.0-of-1.3/
vagrant up
vagrant ssh
2.设置CPqD Openflow 1.3软交换机
最新版本的Openvswitch(v2.0.0)没有完全支持openflow1.3的特性,比如
group multipart的统计数据请求。备选方案就是CPqD openflow 1.3软交换机,它支持大部分1.3的特性
- 快捷途径:带有CPqD的mininet
- cd $HOME/
- git clone git://github.com/mininet/mininet
- mininet/util/install.sh -n3f
- 或者你也可以安装下面的方式,根据下面这个连接逐条指令设置交换机
https://github.com/CPqD/ofsoftswitch13
- 根据下面的命令来启动交换机
开启datapath
$ sudo udatapath/ofdatapath --datapath-id=<dpid> --interfaces=<if-list> ptcp:<port>
e.g $ sudo udatapath/ofdatapath --datapath-id=000000000001 --interfaces=ethX ptcp:6680
ethX不应该与IP地址关联并且IPv6应当禁用。如果您正在安装的交换机在本地计算机上,可以使用下面的命令(for Ubuntu)来创建虚拟接口。
ip link add link ethX address 00:19:d1:29:d2:58 macvlan0 type macvlan
或许你是再用mininet虚拟机安装这个交换机,你可以简单的在虚拟机上添加一个或多个网卡
启动openflow协议代理:
$secchan/ofprotocol tcp:<switch-host>:<switch-port> tcp:<ctrl-host>:<ctrl-port>
e.g $secchan/ofprotocol tcp:127.0.0.1:6680 tcp:127.0.0.1:6653
2.1向交换机的各种表中添加表项的命令
- Add meter
$utilities/dpctl tcp:<switch-host>:<switch-port> meter-mod cmd=add,meter=1 drop:rate=50
- Add Groups
$utilities/dpctl tcp:127.0.0.1:6680 group-mod cmd=add,type=all,group=1
$utilities/dpctl tcp:127.0.0.1:6680 group-mod cmd=add,type=sel,group=2 weight=10 output:1
- Creat queue
$utilities/dpctl tcp:<ip>:<switch port> queue-mod <port-number> <queue-number> <minimum-bandwidth>
e.g - $utilities/dpctl tcp:127.0.0.1:6680 queue-mod 1 1 23
2.2使用内置的Wireshark
Mininet带有预安装Wireshark的,但由于某种原因,它不包括的OpenFlow协议解码。您可能想要得到并安装在<HOME>/.wireshark/ plugins /目录。
首先,登录你的mininet虚拟机
ssh mininet@<your mininet vm ip> -X
shh 中的-X选项将会启用X-session,使得Wireshark窗口可以在主机显示屏上显示,出现提示时输入密码(mininet)
在mininet虚拟机的shell中设置wireshark捕获权限(
http://wiki.wireshark.org/CaptureSetup/CapturePrivileges)
sudo chgrp mininet /usr/bin/dumpcap
sudo chmod 754 /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
最后,启动wireshark:
wireshark
wireshark的窗口应该能展现出来。
为了查看Openflow包,应在FIlter窗口做如下设置
tcp.port == 6653 and tcp.flags.push == 1
开始捕获任何端口上的包
3.运行支持OF1.3的Mininet
在Mininet虚拟机内部,运行:
sudo mn --topo single,3 --controller 'remote,ip=<your controller ip>,port=6653' --switch ovsk,protocols=OpenFlow13
更多推荐
已为社区贡献1条内容
所有评论(0)