Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The SOS controller is considered alpha quality and is still under active development. 

Downloading, Installing, and Running

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:

...

To kill the controller (e.g. to stop and restart it), which is simply a Java process, use your favorite way of killing processes.

Playing with the Source Code

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.

...

  • Reacting to TCP packet-in events via the receive function
  • Sending UDP information packets to agents via the sendInfoToAgent function
  • Inserting flow mods to facilitate SOS via the many pushSOSFlow_* functions
  • Sending packet-out messages to clients via the sendSrcSparkPacket and sendDstSparkPacket functions
  • Detecting and logging SOS-related switch connection events by implementing and registering as an IOFSwitchListener

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.

...