The SOS controller is considered alpha beta quality and is still under active development.
...
The SOS controller is hosted on GitHub as a special extended version of Floodlight and can be cloned using git. In a Linux terminal, get the source code:
$ git clone https: //github .com /rizard/SOSForFloodlight -b sos-13smart-1.3 |
Then, install any Floodlight prerequisites:
$ sudo apt-get install build-essential default-jdk ant python-dev eclipse |
After the prerequisites are installed, change directories into the cloned repository, and build the controller:
$ cd SOSForFloodlight $ ant $ sudo mkdir /var/lib/floodlight $ sudo chmod 777 /var/lib/floodlight |
Lastly, you can run the controller at any time by executing the compiled JAR file:
$ java -jar target /floodlight .jar |
If you would like to develop or run the controller within Eclipse, refer to these instructions.
...
All source code for SOS can be found in the net.floodlightcontroller.sos Java package. The SOS module is located in net.floodlightcontroller.sos.SOS.java. All other classes in the package are data types defined for use in the SOS module.
At present, the controller module is fairly basic and consists of the following main components:
...
The SOS controller received a rather nice set of upgrades from the sos-13 branch to the smart-1.3 branch (both in the GitHub repository).
- A comprehensive REST API is exposed for configuration of the controller, including the whitelisting of clients, agent operations, and statistics gathering.
- Agent discovery allows the controller to learn the location of agents in the network provided only their IP addresses.
- Client and server discovery allows the controller to learn the location of the client/server provided only their IP addresses.
Future Plans
The SOS module is not very sophisticated at this point, although it gets the job done for basic deployments. Existing Floodlight services like routing and the device manager need to be used to automate the discovery of clients, agents, and the calculation of some flows.
...