The Floodlight Open SDN Controller is an enterprise-class, Apache-licensed, Java-based OpenFlow Controller and intended to run with standard JDK tools and ant.
- Easy to set up with minimal dependencies
- Supports a broad range of virtual and physical OpenFlow switches
- Can handle mixed OpenFlow and non- OpenFlow networks.
- It can manage multiple “islands” of OpenFlow hardware switches
- Designed to be high-performance
Floodlight master has been updated (on 04/30/16) to Java 8.
- Java development kit
- JDK 8 for Floodlight master and above
- JDK 7 for Floodlight v1.2 and below
- Ant to build
- Python development package
-To download dependencies for Floodlight master and above:
sudo apt-get install build-essential ant maven python-dev
-To download dependencies for Floodlight v1.2 and below:
sudo apt-get install build-essential openjdk-7-jdk ant maven python-dev eclipse
Download And Build:
Floodlight is simple to download from Github and install. The “git clone” step below uses the master version of Floodlight.Type the below command in SDNHub Terminal.
$ git clone git://github.com/floodlight/floodlight.git
If You are having JDK 7 use a specific version, specify the version branch in the “git clone”
$ git clone -b v1.2 git://github.com/floodlight/floodlight.git
After installation complete follow the steps to build floodlight controller.
$ cd floodlight
$ git submodule init
$ git submodule update
$ sudo mkdir /var/lib/floodlight
$ sudo chmod 777 /var/lib/floodlight
Running Floodlight in the Terminal
Assuming java is in your path, you can directly run the floodlight.jar file produced by ant from within the floodlight directory:
$ java -jar target/floodlight.jar
To Create mininet topology with floodlight remote controller, another terminal run the below command,
$ cd floodlight
$ sudo mn --controlle=remote,ip=127.0.0.1,port=6653 --topo=single,3
we created single topology with 3 host 1 switch and one controller. This can be view in the following url. Go to web browser and type,
In topology tab we can see our topology.
Switches can be view in switches tab.
Hosts are listed in Hosts tab.
we can view host separately by xterm in mininet
mininet>xterm h1 h2
ping each other host by ping command with host
In node h1
$ ping 10.0.0.2
In node h2
$ ping 10.0.0.1
Congrats! Now you can simulate your various topologies with floodlight