The Floodlight Open SDN Controller is an enterprise-class, Apache-licensed, Java-based OpenFlow Controller and it supports OpenFlow v1.0. In fact, Floodlight is not just an OpenFlow controller and it also includes a collection of applications built on top the Floodlight Controller. Additional Floodlight information can be found at Floodlight website http://www.projectfloodlight.org/floodlight/.
Users can either download the Floodlight source from http://www.projectfloodlight.org/download/ or follow the Installation Guide, http://docs.projectfloodlight.org/display/floodlightcontroller/Installation+Guide to install Floodlight.
In this document, we follow the Installation Guide to clone the source to an Ubuntu 11.10 system:
Figure 1 – Clone Floodlight
Why Make Changes?
By default, Floodlight forwards the unknown packets from the Pica8 switch to the destination. In this case, things may go well even if there are no flows set in the Pica8 switch. The purpose of this document is to show users how to use Floodlight REST interface to add flows to the Pica8 switch and verify the transmission of the traffic. In order to eliminate the confusion whether the packets are forwarded by Pica8 switch or Floodlight controller, we will disable Floodlight's default forwarding feature.
Changes to Floodlight
The Floodlight's default setting is in $floodlight/src/resources/floodlightdefault.properties. We need to remove the line "net.floodlightcontroller.forwarding.Forwarding,\" as shown below:
Figure 2 – Edit Floodlight Default Properties
Before building Floodlight, we need to install JDK and Ant. Then, issue ant to build Floodlight.
Figure 3 – Build Floodlight
Then, the Floodlight Java Archive file, floodlight.jar, is generated under target directory and ready to be run.
Figure 4 – floodlight.jar