Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

When configuring SOS, all the switches – whether hardware or software – must be connected to a central Floodlight controller. This controller is equipped with an SOS module that communicates with the four switches and with the SOS agents themselves. The following is a guide to configure the SOS controller.

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:

$ git clone https://github.com/rizard/SOSForFloodlight -b sos-13

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 clone 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.

Setting SOS Module Parameters

The present version of the SOS module in the controller is not very intelligent and thus requires setting some configuration variables prior to running the controller. These variables will define for the controller SOS agent addresses, ports, and other SOS config options.

The file of interest is referred to as floodlightdefault.properties and is located here. The first part of the file defines a list of modules that will be loaded and run when the controller starts up. We want SOS to be run, so make sure the following line is in the list:

net.floodlightcontroller.sos.SOS,\

This will tell the controller to load the SOS module. Note that the trailing ",\" is only required if the module is not the last one in the list. As an example, notice that without any modification to floodlightdefault.properties, the Floodlight web interface module, last in the list, is missing the comma and backslash. (Also note that net.floodlightcontroller.sos.SOS should be in another properties file that defines the module's existence – this has been done for you though.)

After instructing the SOS module to load with the rest of the Floodlight modules, we need to modify the SOS module's parameters, which are also in floodlightdefault.properties as:

net.floodlightcontroller.sos.SOS.agent-msg-port = 9998
net.floodlightcontroller.sos.SOS.agent-tcp-port = 9877
net.floodlightcontroller.sos.SOS.controller-mac = 00:26:b9:75:1d:45
net.floodlightcontroller.sos.SOS.controller-ip = 192.168.1.5
net.floodlightcontroller.sos.SOS.buffer-size = 512
net.floodlightcontroller.sos.SOS.queue-capacity = 2000
net.floodlightcontroller.sos.SOS.parallel-tcp-sockets = 64
net.floodlightcontroller.sos.SOS.flow-timeout = 15

net.floodlightcontroller.sos.SOS.dst-client-sw-port = 2

net.floodlightcontroller.sos.SOS.src-agent-mac = 02:b0:b6:91:cb:89
net.floodlightcontroller.sos.SOS.src-agent-ip = 10.10.1.2
net.floodlightcontroller.sos.SOS.src-agent-sw-port = 1
net.floodlightcontroller.sos.SOS.src-agent-ovs-port = 1

net.floodlightcontroller.sos.SOS.dst-agent-mac = 02:6b:11:90:99:05
net.floodlightcontroller.sos.SOS.dst-agent-ip = 10.10.2.2
net.floodlightcontroller.sos.SOS.dst-agent-sw-port = 1
net.floodlightcontroller.sos.SOS.dst-agent-ovs-port = 1

net.floodlightcontroller.sos.SOS.src-ntwk-switch-dpid = 00:00:00:00:00:00:00:11
net.floodlightcontroller.sos.SOS.dst-ntwk-switch-dpid = 00:00:00:00:00:00:00:22
net.floodlightcontroller.sos.SOS.src-agent-switch-dpid = 00:00:00:00:00:00:11:11
net.floodlightcontroller.sos.SOS.dst-agent-switch-dpid = 00:00:00:00:00:00:11:22
net.floodlightcontroller.sos.SOS.src-ntwk-sw-port = 3
net.floodlightcontroller.sos.SOS.dst-ntwk-sw-port = 3
  • No labels