Floodlight OpenFlow Controller Screencast with HP Switches
There is an updated post with the newest HP OpenFlow firmware that can be found at: Configure an HP OpenFlow Switch for Floodlight →
Quick how-to on installing the Floodlight OpenFlow controller and a slick http UI fronted someone put up on GutHub. Floodlight is probably the easiest of all controllers to setup. It is built in Java and based on the Beacon controller project. It is a great way to get your feet wet in SDN. I will work on a post showing some of the capabilities in the next few days.
The switches in the post are a couple HP3500yl running the OpenFlow v1.0 agent. I think the TCAM on that box allows for maybe a 5-tuple in HW. None of the HP switches I am aware of support any layer 2 header rewrites due to TCAM size limitations. Just not enough rows, but maybe the bigger 5400 but I havent dug in. That limits manipulation of the ethertype, L2 src address and L2 dst address. Thanks to the gentleman who shared his code on GitHub with the nifty web UI. It was needed. It looks very much like the Beacon web UI.
Figure 1. Here is the topology.
Kick the tires on a very simple controller install and see what you think. No C compiler errors in this project which can be nice depending on how much you like or dislike Java
Install dependencies, apt-get for UB and yum for RH:
$apt-get install build-essential default-jdk ant python-dev eclipse git
Clone the Github project and build the jar and start the controller:
$git clone git://github.com/floodlight/floodlight.git
$java -jar target/floodlight.jar
Once the service is running you can go to the web GUI and view topologies, flows etc or use curl statements to add remove datapaths.
View the GUI in a web browser http://localhost:8080/ui/index.html
Attach the HP Switch to the OpenFlow Controller
vlan 1 openflow controller tcp:192.168.1.171 enable
Here is what the HP config looks like.
#Non-OpenFlow Vlan. Out of Band for Control Comm.
name "Native Path to Controller"
ip address 192.168.1.211 255.255.255.0
#OpenFlow enabled Vlan
name "OF Controlled Vlan"
ip address 10.1.1.3 255.255.255.0
#Enable OF on the Vlan. Needs to enabled per Vlan.
Later this week I will breakdown some of the datapaths and flows and we can see what they look like in action.