Existing implementations
Currently, there are different OpenFlow (and SDN) controller implementations, which we will introduce in more detail in Chapter 9, Open Source Resources, as part of existing open source projects. In this chapter, we limit ourselves to NOX, POX, NodeFlow, Floodlight (which is forked from Beacon), ODL, and Ryu to present some OpenFlow controllers and different possibilities for choosing a programming language to develop the network applications.
NOX and POX
NOX (https://github.com/noxrepo/) was the first OpenFlow controller written in C++ and it provides an API for Python too. It has been the basis for many research and development projects in the early exploration of the OpenFlow and SDN space. NOX has two separate lines of development:
- NOX-Classic
- NOX, also known as new NOX
The former is the well-known line of development, which contains support for Python and C++ along with a bunch of network applications. However, this line of development is deprecated and there is...