wiki:OpenFlow/Controllers

Version 25 (modified by rrhain@bbn.com, 9 years ago) (diff)

--

OpenFlow Controllers in GENI

Last updated in 2015

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

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.

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. Pox is supported but no new development is happening in this platform.

RYU

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.

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

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.