SDN Bootcamp

Session 4

Load Balancer

Solution for the load balancer for Floodlight.

Routing

Skeleton

We have provided skeleton code for Floodlight and an implementation of Dijkstra's algorithm in Java. Your should call your package edu.wisc.cs.bootcamp.sdn.routing.

We have also provided skeleton code for POX users. POX uses are also welcome to use this implementation of Dijkstra's algorithm.

Floodlight users: be sure to remove your learning switch from floodlightdefault.properties, otherwise your learning switch application will install flow entries instead of your routing application.

Floodlight Coding Hints

If you start your controller before you start Mininet, then all hosts will be discovered by Floodlight's device service before you need to route any packets.

You will need to wait a few seconds after you start Mininet to allow Floodlight to discover the links in the network. If you try to send (and route) traffic before this, then you may not be able to find a path through the network.

Topologies

You will need more than a single switch to test your routing application. Mininet provides two built-in topologies that you can use for this purpose:

You can also create your own custom topologies in mininet. We have provided two custom topologies. You can install these topologies by running the following commands in your VM:

cd ~/mininet/custom/
wget http://cs.wisc.edu/~agember/sdn/code/topos.tgz
tar xzvf topos.tgz