pox: Build Python-Based Network Controllers and Software

pox: Build Python-Based Network Controllers and Software

Summary

POX is a Python platform for building network software, including OpenFlow controllers and switches. It suits developers and learners who want to prototype or extend network behavior through loadable components.

At a glance

Language
Python
License
Apache-2.0
Stars
648
Forks
483
Added to OSRepos
April 3, 2026
Last analyzed
October 3, 2026
View on GitHub

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Overview

POX is a Python platform for writing networking software. It began as an OpenFlow controller and can also operate as an OpenFlow switch, giving developers a component-based way to build and run network functionality.

It is aimed at people developing or experimenting with network control software, especially where OpenFlow 1.0 support is appropriate. Components can be launched together from the command line, and the project provides full documentation for further details.

Key Features

  • Runs Python components through a shared platform and launcher.
  • Supports OpenFlow 1.0 controller functionality.
  • Can also function as an OpenFlow switch.
  • Includes special support for Open vSwitch/Nicira extensions.
  • Loads components by name and passes command-line options to their launch() functions.
  • Supports Linux, macOS, and Windows, with some features varying by platform.

Use Cases

  • Network developers can prototype an OpenFlow controller by combining existing components or writing new ones.
  • Networking students can experiment with controller behavior and component-based network software.
  • Developers working with Open vSwitch/Nicira extensions can use POX's stated support for those extensions.
  • Researchers can run network software experiments where OpenFlow 1.0 is sufficient.

Project Facts

  • Language: Python
  • License: Apache-2.0
  • Stars: 648
  • Forks: 483
  • Topics: none listed
  • Archived: no

Getting Started

Run a component from the repository directory:

./pox.py forwarding.l2_learning

See the README and full documentation for setup and component details.

Considerations

  • The documented OpenFlow support is for version 1.0, so check compatibility before choosing POX for networks that require other protocol versions.
  • The gar version requires Python 3; the README identifies fangtooth as the last version supporting Python 2.
  • Some features are not available on every supported platform, and Linux is described as the most featureful.
  • The default branch is gar-experimental, so check the branch and documentation when assessing suitability for a particular deployment.

Found this useful?

Share it with someone who would like pox.

Source repository

Open the original repository on GitHub.

17 counted GitHub visits

View on GitHub

Related repositories

Similar repositories that may be relevant next.

OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️