wiki:OpenFlow/Controllers

Version 22 (modified by sedwards@bbn.com, 5 years ago) (diff)

--

OpenFlow Controllers in GENI

Last updated in 2012

Experimenters in GENI have used OpenFlow controllers based on these frameworks (in alphabetical order):

Beacon is a Java-based controller that supports both event-based and threaded operation. Beacon was developed at Stanford.

Floodlight is a Java-based controller that was forked from the Beacon controller, and now is supported by a community of developers. Floodlight is released under the Apache License.

Maestro is a multi-threaded Java-based platform that allows developers to implement new OpenFlow controllers. Maestro was developed at Rice University.

NodeFlow is an OpenFlow controller written in pure JavaScript for Node.JS. Node.JS provides an asynchronous library over JavaScript for server side programming which is perfect for writing network based applications.

NOX is a C++ based platform that gives the ability to developers to implement new controllers by writing NOX modules in either C++.

POX is a Python based platform that gives the ability to developers to implement new controllers by writing NOX modules in either Python. Pox was part of what is now called Nox classic, but it was separated into a different controller platform that only supports Python.

Trema is a C based platform that allows developers to write new controllers by writing Trema modules in either C or Ruby. Trema was developed by NEC.

If you've used an OpenFlow controller based on something else, drop a note to help@geni.net, and we can add a link here.

Performance comparison

You can find a performance comparison for some of the controllers here.

If you know of other performance comparisons, drop a note to help@geni.net, and we can add a link here.