Skip to content

Run the whole Odin scenario

Jose Saldana edited this page Nov 15, 2017 · 18 revisions

This assumes you have run all the previous steps, so you have installed the controller, and a number of agents.

Set up the scenario

This is the scheme of our setup, which includes a separate control and data planes:

Scheme of the setup

Run the controller

If you have followed the instructions to Install and test Odin controller, you just have to run:

    ~/odin-controller# java -jar ./target/floodlight.jar -cf ./src/main/resources/floodlightdefault.properties

The controller will start and wait for connections.

Install a DHCP server

As we are going to disable the internal DHCP server of all the APs (this is required by Odin), you have to install a DHCP server in a machine (it should not be the same machine where the Odin controller is running).

Example with Debian

For example, in Debian, you can install the package (https://wiki.debian.org/DHCP_Server):

  $ apt-get install isc-dhcp-server

The main configuration file for a dhcp server is /etc/dhcp/dhcpd.conf

The interface where DHCP server is hearing is defined in /etc/default/isc-dhcp-server

  INTERFACES=”eth0”

Start and stop it:

  $ /etc/init.d/isc-dhcp-server start
  $ /etc/init.d/isc-dhcp-server stop
  $ /etc/init.d/isc-dhcp-server status

You shoud see:

  Status of ISC DHCP server: dhcpd is running.

Run the agent

Note. The DHCP server of the agents (APs) must be disabled. For example, you can do that with Luci (web server of each AP). Go to Network / Interfaces / Eth1.1 / Disable DHCP for this interface.

Prepare a .cli file

Use the file agent-click-file-gen.py to generate the .cli file required by the agent. Always refer to the info provided by the script.

The scheme should be something like this: Scheme of the .cli script

Align the .cli file

Note. This is not needed if you use the last versions of the script start.sh.

The file is generated, but it has to be aligned before being used in the AP. Use the click-align tool you have generated before, for that aim:

      $: click-align agent.cli > aagent.cli

Move the aagent.cli file generated to the AP. If there is no place in the main memory of the wireless router, you may need to use a external USB unit /mt/usb/.

Prepare the script that runs OpenvSwitch and starts Click in the wireless router

You can use the script start.sh to automate these things:

  • preparing the interfaces
  • starting OpenvSwitch
  • start Click
  • add some OpenFlow rules to the local switch

Tune the parameters of the script (IP addresses, ports, locations of files, etc.) and run it.

Run the scripts

The order is:

  1. Launch the script start.sh in all the APs. You will see a message Now you can launch the controller and press Enter
  2. Launch the Wi-5 odin controller
  3. Press ENTER on each of the APs

Connect a STA to the odin wifi SSID

At this point, you should be able to connect from a STA and ping. You should see an ESSID created by Odin in the STA. You can connect in Linux using:

     $ iwconfig wlan0 essid odin-ssid

If you are here, congratulations!