about 7 years ago

前置工作

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
$ export JAVA_HOME=/usr/lib/jvm/java-7-oracle/     //you can add it to your bashrc.
$ sudo apt-get install -y git ant mercurial aptitude curl vim screen

floodlight install

$ git clone https://bitbucket.org/sdnhub/floodlight-plus.git  (1.3)
$ cd floodlight-plus
$ ant
or
$ git clone https://github.com/rizard/floodlight (1.0)
$ cd floodlight
$ ant

mininet install&wireshark install

$ git clone git://github.com/mininet/mininet
$ ./mininet/util/install.sh -a
$ sudo /etc/init.d/openvswitch-controller stop
$ sudo update-rc.d openvswitch-controller disable
$ sudo /etc/init.d/openvswitch-switch start

start sample test

$ cd floodlight-plus;./floodlight.sh
//open other terminal
$ sudo mn --topo single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
//open other terminal
$ sudo wireshark
你可以試試看 mininet 那邊 `pingall`,但預設好像沒開啟routing,所以需要下下面的指令,也就是下flow entry
$ curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"flow-mod-1", "priority":"32768", "ingress-port":"2","active":"true", "actions":"output=1"}' http://localhost:8080/wm/staticflowentrypusher/json
$ curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"flow-mod-2", "priority":"32768", "ingress-port":"1","active":"true", "actions":"output=2"}' http://localhost:8080/wm/staticflowentrypusher/json
$ curl http://localhost:8080/wm/core/switch/1/flow/json

Reference

Article update information

  • 2014/9/30 start Article
  • 2014/10/29 delete update ovs in mininet
← Archlinux Installation with Btrfs estinet8.1 installation + setting environment in emulation mode with openflow1.3 →