wiki:OpenFlow/Controllers

OpenFlow Controllers in GENI

Last updated in 2017

Experimenters in GENI have used OpenFlow controllers based on these frameworks:

Ryu is a component-based software defined networking framework that is actively being supported by its Ryu Development team.

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.

OpenDaylight is a Java-based controller.

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.

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.

Last modified 2 years ago Last modified on 03/01/22 22:09:08