The Controller

Table of Contents

Introduction

Floodlight is not just an OpenFlow controller.  Floodlight is an OpenFlow controller (the "Floodlight Controller") AND a collection of applications built on top the Floodlight Controller.

The Floodlight Controller realizes a set of common functionalities to control and inquire an OpenFlow network, while applications on top of it realize different features to solve different user needs over the network.  The figures below show the relationship among the Floodlight Controller, the applications built as Java modules compiled with Floodlight, and the applications built over the Floodlight REST API. 

When you run Floodlight, the controller and the set of Java module applications (those loaded in the floodlight properties file, see Module Applications for examples) start running.  The REST APIs exposed by all running modules are available via the specified REST port (8080 by default). Any REST applications, written in any language, can now retrieve information and invoke services by sending http REST commands to the controller REST port.  See REST Applications for examples.

Now, as you move forward and start using Floodlight, you would find the following useful:

Architecture Diagram

More Details