Ubuntu logo

Developer Summit

Choosing an OpenFlow Controller for Ubuntu

2012-05-11 09:00..09:55 in G. Ballroom B

OpenFlow enables networks to evolve, by giving a remote controller the power to modify the behavior of network devices, through a well-defined "forwarding instruction set". -http://www.openflow.org/

There are several FOSS implementations of openflow controllers. This session is intended to review the list and choose one for packaging in universe. Our criteria will be based on language choice, quality, development community health, and OpenStack Quantum support.

The current list for review are:

1) NOX[1] - Created by Nicira, supporting C++. No quantum plugin. Not to be confused with "NOX classic" an older implementation supporting both C++/Python.

2) POX[2] - Same as NOX, but younger of the two projects and supports Python. No quantum plugin.

3) Beacon[3] - Research project written in Java by David Erickson, a PhD candidate at Stanford. No quantum plugin.

4) Floodlight[5] - Written in Java and recently opensourced by Big Switch Networks as "the foundation of a commercial controller product". In terms of Quantum plugins, Big Switch Networks stated on the project mailing list[6] that it wasn't in their roadmap, but encouraged the community to do it, e.g.: "...Big Switch also has a quantum plugin but its based on functionality not present in Floodlight on this point."

5) Trema[7] - Supports Ruby and C. Developed out of Japan according to their twitter feed[8]. NEC has created a Quantum plugin[9] that works with Trema, as well as their commercial OpenFlow controller.

6) RYU[10] - Written in Python by NTT, who have also directly contributed a Quantum plugin[11].

[1] http://www.noxrepo.org/nox/about-nox/ [2] http://www.noxrepo.org/pox/about-pox/ [3] https://openflow.stanford.edu/display/Beacon/Home [4] http://www.linkedin.com/pub/david-erickson/3/89b/166 [5] http://floodlight.openflowhub.org/ [6] http://bit.ly/K1w69p [7] http://trema.github.com/trema/ [8] http://twitter.com/#!/trema_news [9] https://github.com/nec-openstack/quantum-openflow-plugin [10] http://www.osrg.net/ryu/ [11] https://github.com/openstack/quantum/tree/master/quantum/plugins/ryu