NOXRepo.org is the home of two Open Source control platforms for Software Defined Networks.

NOX is the original OpenFlow controller, and facilitates development of fast C++ controllers on Linux.

(There's also NOX Classic which supports both C++ and Python. We have no plans to do substantial further development on this project, but don't let that stop you from using it if you think it fits your needs best.)

POX is great for diving into SDN using Python on Windows, Mac OS, or Linux -- you can be controlling OpenFlow switches only seconds after downloading it. It's targeted largely at research and education, and we use it for ongoing work on defining key abstractions and techniques for controller design.

You can check out the resources in the menus in the upper right, dive straight into the code on github, read more about NOXRepo.org, or just check out the news and articles below.

OpenFlow Wireshark Dissector on Mac OS Mavericks

May 1, 2014 in Mac, ThirdParty, Tips

It’s been a while since I’ve wrote the little guides on getting the OpenFlow Wireshark dissector from the OpenFlow reference implementation running in Windows and in Mac OS Snow Leopard and Lion. Then latter one has since been updated with some notes about Mountain Lion and a later version of Wireshark (1.10.1), but even those are now out of date. Even though official OpenFlow support in the form of a new dissector is coming to Wireshark in 1.12 (expected later this year), I thought I’d do one last guide on how to build the old one for Mac OS Mavericks and the latest Wireshark release (1.10.7).

Read the rest of this entry →

POX now under Apache license

November 28, 2013 in POX

I still haven’t had time to do a proper writeup about the carp branch’s release, but I did think I should point out one significant change which didn’t involve much code at all: the license. Historically, POX had used the GNU license (same as NOX). However, I’m happy to report that as of carp, POX is now under the somewhat more liberal Apache license.

Carp branch released

November 12, 2013 in News, POX

A few weeks ago, a new development branch appeared: dart. When this happens, it generally means that the previous branch is moving to release, and there should be an announcement and so on. I’ve been intending to do all that, but haven’t gotten around to it, so instead… you just get this quick notice. :) Maybe I’ll find time to come back and extend it later, but the highlights are that carp is now the default branch and new development is going into dart. This reflects the fact that new projects are quite probably best served by starting from there rather than its predecessor (betta). Hope everyone finds this to be true!

POX Reaches 100 Stars on github

June 30, 2013 in POX

The POX repository has just reached 100 stars on github, and I thought it seemed like an appropriate time to say thanks to everyone who has contributed. Thanks!

POX and Gephi graph streaming / visualization

June 2, 2013 in News, POX

POX has an unsupported visualization GUI in the form of POXDesk, but today it got another somewhat different option. Gephi is a great (open source) graph visualization and manipulation package. It has a plugin for streaming graphs in and out over HTTP, and POX’s new misc.gephi_topo component uses this to stream switches, links, and (optionally) hosts to it. Once the graph is in Gephi, you can export it to graph file formats, analyze it in a bunch of different ways, just look at it, render it as SVG, and so on. Read on for more info and a screenshot.

Read the rest of this entry →

POX as an OpenFlow Switch

June 1, 2013 in News, POX

POX is now an OpenFlow switch as well as an OpenFlow controller. Most of the code for this has actually been in the repository for a while and has been used along with the STS SDN Troubleshooting Simulator, but we’ve never had all the pieces assembled in the repository to actually let you run POX as a standalone switch until now. It’s definitely not the best switch, but it might do in a pinch and someone may find some use for it. We’re hoping to improve its spec conformance some in the next couple of weeks. As for performance… I wouldn’t hold your breath for big improvements. :)

Read the rest of this entry →

New POX branch: carp

May 20, 2013 in News, POX

A little while back, POX’s betta branch was unceremoniously made a release branch and became the default when cloning POX. This was a reflection of the decision that you were strictly better off using betta than its predecessor (angler). This also meant it was time to create a new branch for active development — that branch is carp.

Read the rest of this entry →

Composing Software Defined Networks, Pyretic, and POX

February 21, 2013 in POX, ThirdParty

Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford and David Walker had their paper “Composing Software Defined Networks” accepted at NSDI. The goal is to allow the composition of independent functionality in SDN, and it builds on some of their other language-based work that started with Frenetic (which was built on NOX-Classic). This new paper introduces Pyretic, and their implementation is built on top of POX. So congratulations to them, and you can find the full text of the paper on the Frenetic site.

NOXRepo Web Forums

February 13, 2013 in News

The nox-dev mailing list was one of the first places on the net to discuss OpenFlow and SDN issues. Since then, we’ve added other ways to contact us and engage the community. For example, the pox-dev mailing list, the github Issues system, and comments on noxrepo.org. We’ve just added another on a sort of trial basis: web forums.

Read the rest of this entry →


February 9, 2013 in News, POX

This week, POX’s betta branch gained a simple DHCP server. I’m actually aware of at least three other POX DHCP servers(!), but this is the first one in the mainline. It’s pretty bare-bones, but it might Do The Job for you (and if it doesn’t maybe it’s at least a start). It also demonstrates a rarely seen POX feature: multiple launch functions.

Read the rest of this entry →