Currently, there are different OpenFlow (and SDN) controller implementations, which we will introduce in more detail in Chapter 8, 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), and OpenDaylight to present some OpenFlow controllers and different possibilities for choosing a programming language to develop the network applications.
NOX (www.noxrepo.org) was the first OpenFlow controller written in C++ and provides API for Python too. It has been the basis for many research and development projects in the early exploration of OpenFlow and SDN space. NOX has two separate lines of development: