Overview
NOX is an open-source OpenFlow controller intended to simplify the creation of software for controlling or monitoring networks. Programs written within NOX (using either C++ or Python) have flow-level control of the network. This means that they can determine which flows are allowed on the network and the path they take. In addition, NOX provides programs with access to the network state including the network topology and the location of all detected hosts.
NOX was designed to support both large enterprise networks of hundreds of switches (supporting many thousands of hosts) and home networks with a single switch running on a low-performance embedded platform.
The primary goals of NOX are:
- To provide a platform that allows developers to innovate within home or enterprise networks using real networking hardware. Developers on NOX can control all connectivity on the network including forwarding, routing, which hosts and users are allowed etc. In addition, NOX can interpose on any flow.
- To provide usable network software for operators. The current release includes central management for all switches on a network, admission control at the user- and host-level, and a full policy engine.
Developers unfamiliar with NOX are advised to start with NOX core, a minimal NOX release with few dependencies. You can download the latest NOX core release from the following link: nox-0.5.0~core~beta.tar.gz. NOX core provides little more than a C++ and Python interface to OpenFlow and a few example applications. It does not contain any complex networking functions such as topology reconstruction, host detection, or routing.
The latest full release of NOX, available at: nox-0.5.0~full~beta.tar.gz, contains code to perform a number of common networking functions (including topology discovery, host detection and authentication, and routing).
Either source distributions should be compilable via the standard:
./configure –with-python=yes # configure with python support
make
You may also pull and build NOX directly from git:
mkdir nox
cd nox/
git clone git://noxrepo.org/noxcore
cd noxcore
./boot.sh
mkdir build
cd build/
../configure –with-python=yes
make
For questions regarding installing, building, or using NOX, please join the NOX development mailing list.
All NOX source and documentation is released under version three of the GNU General Public License (GPLv3).

