Welcome!

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.


Pocket POX: Taking your OpenFlow controller with you

July 27, 2012 in POX

One of the goals for POX is to have it be easy to get up and running. This fits well with some of its broader goals (e.g., for use in education), and I am sure many people will attest is in contrast to NOX (especially before NOX verity). One of the things that falls out is that it’s pretty easy to get running almost anywhere. I’ve already shown it running on the BeOS-inspired Haiku OS. And while that’s cool, not a whole lot of us have a machine running Haiku. On the other hand, a whole lot of us have smartphones. So sure, why not run POX on one? That way we can all be assured of never getting into that embarassing situation when you’re at a party and everyone else brought an OpenFlow controller except you.

Read the rest of this entry →

NOX-Classic on github

July 20, 2012 in NOX

As of today, NOX-Classic — the NOX you’ve known since 2009 — is up on github. Sorry this took so long, but it’s done now!

Read the rest of this entry →

Stanford team wins the Imagine App Challenge… with POX!

June 17, 2012 in POX

The Cable Show is a giant convention put together by the National Cable & Telecommunications Association, which covers content, technology, and future directions for the cable industry. This year, it was toward the end of May in Boston, and included a hackathon.

Read the rest of this entry →

POX Installation Video

May 7, 2012 in POX, Tips

Brent Salisbury, the author of the Network Static blog, recently posted a YouTube video showing how to get POX up and running on Ubuntu. I wanted to give out a shout of thanks for that, and throw in another little tip or two.

Read the rest of this entry →

OpenFlow Wireshark Dissector on Windows

March 30, 2012 in Tips, Windows

The OpenFlow Wireshark dissector is part of the OpenFlow reference implementation, and is really a useful tool. Like the rest of the reference implementation, however, it’s really geared at Linux. But one of the goals of POX and — by extension — NOXRepo is to make SDN a bit more accessible, and this motivates getting Mac OS and Windows in on the action too. This led to me writing a post a few weeks ago describing how I built the dissector on Mac OS. Urged on by a post on nox-dev, I thought I’d write up how you can build it on Windows too. (And, again: prebuilt binaries for the impatient :) .)

Read the rest of this entry →

Jaxon: Java Bindings for NOX

March 27, 2012 in NOX, ThirdParty

A couple of weeks ago, there was a post on nox-dev announcing the Jaxon project which had just had its source code go up on Bitbucket.  Jaxon uses Java Native Access to expose some of NOX Classic’s API to Java, while being almost just an ordinary NOX component (that is, it only requires a minor change to NOX itself, which I think we could actually fix…).  Of course, it comes with the prototypical sample application — an L2 learning switch equivalent to switch/pyswitch.

Read the rest of this entry →

POX on Haiku

March 19, 2012 in Musings, POX

One of the things we like about POX — especially for its role as an educational tool — is that it has few external dependencies (really, it’s pretty much just Python) and can be run easily on Linux, Mac OS, and Windows. But it doesn’t stop there — with only a tiny bit of work, POX also runs on a little OS called Haiku.

Read the rest of this entry →

OpenFlow Wireshark Dissector on Mac OS

March 3, 2012 in Mac, Tips

The OpenFlow reference implementation comes with a Wireshark dissector, which is really a great tool for analyzing controller traffic.  In fact, it's so useful that POX pretty much has special support for it (in the form of pox.openflow.debug's synthetic pcap traces).  Unfortunately, while it's generally quite easy to build on Linux, the same isn't necessarily true for Mac OS.  To rectify that, I thought I'd describe how I built it.  And for those of you who just want the goods, I've posted a precompiled binary. (If you're interested in Windows, you may be interested in another post.)

Read the rest of this entry →

Introducing POX

March 1, 2012 in Controllers, POX

POX is, at its core, a new platform for the rapid development and prototyping of network control software using Python.  Meaning, it’s one of a growing number of frameworks (including NOX, Floodlight, Trema, etc., etc.) for helping you write an OpenFlow controller, and in some ways a spiritual followup to NOX.  But POX goes beyond where NOX left off too — we’re using it as the basis for some of our ongoing work exploring and prototyping controller distribution, SDN debugging, network virtualization, controller design, and programming models.  Our ultimate goal is to develop an archetype for a modern SDN controller.

Read the rest of this entry →

What Is SDN All About, Then?

March 1, 2012 in Idle Musings

What is Software Defined Networking about?  Like everything else; it depends on who you ask.  Some would say it just means OpenFlow.  Some would say it means centralized control.  Some would say it means an end to expensive, proprietary routers and the beginning of cheap commodity switches controlled by cheap commodity servers.  Some would say it’s a lot of hype which will surely all end in tears.

But since you’re asking us… here’s some of how we think about it and how it guides some of our work.

Read the rest of this entry →