...
Floodlight is Java-based and intended to run with standard jdk tools and ant and can optionally be run in EclipseEclips.
Prerequisites
Linux
- Ubuntu 10.04 (Natty) or higher. (Has been run with Ubuntu 10.04 with Ant versions 1.8.1 or lower).
- Install JDK, Ant. You can optionally choose to install eclipse but it is not required.
Code Block xml xml sudo apt-get install build-essential default-jdk ant python-dev eclipse
...
Floodlight is simple to download from Github and build.
Code Block | ||||
---|---|---|---|---|
| ||||
$ git clone git://github.com/floodlight/floodlight.git
$ cd floodlight
$ git checkout stable
$ ant;
|
...
Assuming java is in your path, you can directly run the floodlight.jar file produced by ant.
Code Block | ||||
---|---|---|---|---|
| ||||
$ java -jar target/floodlight.jar
|
...
Its also possible to setup, develop and run Floodlight through Eclipse. Rather than setting up projects manually, its easily to use the Eclipse ant target.
Code Block | ||||
---|---|---|---|---|
| ||||
$ ant eclipse;
|
This creates several files: Floodlight.launch, Floodlight_junit.launch, .classpath, and .project. From these you can setup a new Eclipse project.
...
- Download the Floodlight VM. It includes floodlight running by default and Mininet.
- Start it in VMware Fusion (set up new VM with provided vmdk) or VirtualBox (run floodlightcontroller.vbox.sh, click "Network tab" in VirtualBox GUI and OK before powering up - avoid running script from path with space in name, like "../VirtualBox VMs/..")
- Login (username is floodlight and no password is required)
- Its possible to run Mininet against the locally running Floodlight (just type "sudo mn") but you can also run it against a remote controller you built as well. To do that, type:
Code Block xml xml $ sudo mn --controller=remote --ip=<controller ip> --port=<openFlowPort 6633 by default>
- Optionally run wireshark over ssh. Listen on "eth0? and filter for packets with "of" names.
Code Block | ||||
---|---|---|---|---|
| ||||
$ ssh -X floodlight@<vm-ip>
$ sudo wireshark &;
|
...