Network virtualization has a robust Open Source community given its roots within academia. With the burgeoning development community around OpenFlow and SDN, the number of open-source projects are rapidly growing. There is a lot more to network virtualization and SDN beyond OpenFlow, and SDNCentral aims to capture the most comprehensive list of Open Source SDN Projects
If you have questions about the Open Source SDN Projects – please contact us and we’ll connect you with an SDN expert who can answer your questions. Also, we are always looking for more Open Source SDN Projects, please contact us to add them to our directory. In the meantime, we encourage you to join our mailing list to stay up to date on all things SDN.
Projects tagged with NEW have been updated recently.
NETWORK VIRTUALIZATION
ProjectOrganization(s)| ETSI Collaborative Portal | ETSI |
|---|---|
| ETSI Collaborative Portal is a tremendous portal within ETSI, The European Telecommunications Standards Institute (ETSI) who produces globally-applicable standards for Information and Communications Technologies (ICT). | |
ORCHESTRATION
ProjectOrganization(s)| FlowVisor | ON.Lab |
|---|---|
FlowVisor is a special purpose OpenFlow controller that acts as a transparent proxy between OpenFlow switches and multiple OpenFlow controllers.FlowVisor creates rich ”slices” of network resources and delegates control of each slice… | |
| Maestro | Rice University |
Maestro is a network operating system for orchestrating network control applications. Maestro provides interfaces for implementing modular network control applications to access and modify state of the network, and coordinate their interactions… | |
| NDDI OESS | Internet2 |
OESS is an application to configure and control OpenFlow Enabled switches through a very simple and user friendly User Interface. OESS provides sub-second circuit provisioning, automatic failover, per-interface permissions, and automatic per-Vlan… | |
| NetL2API | Locaweb |
| A work in progress, vendor-agnostic API for network switches/L2 automation | |
| OpenStack Quantum | Openstack Foundation |
Quantum is an incubated OpenStack project to provide network connectivity as a service between interface devices (e.g., vNICs) managed by other Openstack services (e.g., nova) | |
SDN APPLICATION
ProjectOrganization(s)| Avior | Marist College |
|---|---|
Avior is an application built outside of floodlight that gives network administrators a graphical user… | |
| On-Demand Secure Circuits and Advance Reservation System (OSCARS) | Energy Services Network (ESnet) |
| ESnet\'s On-Demand Secure Circuits and Advance Reservation System (OSCARS) provides multi-domain, high-bandwidth virtual circuits that guarantee end-to-end network data transfer performance. | |
| The BIRD | CERN Internet eXchange Point (CIXP) |
The BIRD project aims to develop a fully functional dynamic IP… | |
| Twister | Luxoft |
Luxoft Twister is a test automation framework designed to manage and drive test cases… | |
SDN CONTROLLER
ProjectOrganization(s)| Beacon | Stanford University |
|---|---|
| Beacon is a fast, cross-platform, modular, Java-based controller that supports both event-based and threaded operation. | |
| Floodlight | Big Switch Networks |
The Floodlight controller is an enterprise-class, Apache-licensed, Java-based OpenFlow Controller. It was forked from the Beacon controller, originally developed by David Erickson, and now is supported by a community of developers including a… | |
| FlowER | Travelping GmbH |
| FlowER is an open-source Erlang based OpenFlow controller. Its purpose is to provide a simplified platform for writing network control software in Erlang. Its still under development but Travelping, FlowER’s creator, is already using it in its… | |
| Jaxon | University of Tsukuba |
Jaxon is a Java-based OpenFlow Controller that provides a thin interface to NOX to bridge Java applications and the NOX controller. | |
| Mul SDN Controller | Kulcloud |
| MūL, is an openflow (SDN) controller. It has a C based muli-threaded infrastructure at its core. It supports a multi-level north bound interface for hooking up applications. | |
| NodeFlow | Cisco Systems |
Node.js-based OpenFlow controller. Node is a fast, lightweight, and efficient server-side javascript platform based on Google's V8 runtime | |
| NOX | ICSI |
| NOX was the first OpenFlow controller. It has been the basis for many and various research projects in the early exploration of the SDN space. | |
| OpenDaylight Project | Linux Foundation |
| The adoption of new technologies and pursuit of programmable networks has the potential to significantly improve levels of functionality, flexibility and adaptability of mainstream datacenter architectures. To leverage this abstraction to its fullest | |
| POX | ICSI |
| POX is a Python-only version of NOX that provides controller functionality within a rapid prototyping environment. | |
| Ryu Network Operating System | NTT Communications |
Ryu is a network OS that integrates with OpenStack and supports OpenFlow. It provides a logically centralized controller and well-defined API that make it easy for operators to create new network management and control applications. | |
| Trema | NEC |
| An Open Source modular framework for developing OpenFlow controllers in Ruby/C. | |
SECURITY
ProjectOrganization(s)| FortNOX | SRI International |
|---|---|
FortNOX is an extension to the open-source NOX OpenFlow controller. FortNOX automatically checks whether the new flow rules violate security policies. FortNOX can detect rule contradictions, even in the presence of dynamic flow tunneling using… | |
| FRESCO | SRI International |
FRESCO is an initiative to develop an OpenFlow application framework for rapidly prototyping security detection and mitigation modules, and composing these modules into efficiently deployable security services. Situated between the OpenFlow… | |
SIMULATION, TESTING AND TOOLS
ProjectOrganization(s)| Cbench | Stanford University |
|---|---|
Cbench is a program for testing OpenFlow controllers by generating packet-in events for new flows. Cbench emulates a bunch of switches which connect to a controller, send packet-in messages, and watch for flow-mods to get pushed down. | |
| MiniNet | Stanford University |
Mininet provides a simple and inexpensive network testbed for developing OpenFlow applications. Mininet creates scalable (up to hundreds of nodes, depending on your configuration) software-defined networks on a single PC by using Linux processes… | |
| NICE | NICE |
| NICE is a tool to test OpenFlow controller application for the NOX controller platform through a combination of model checking and symbolic execution | |
| OFDissector | CPqD |
Wireshark dissectors for OpenFlow 1.1 and 1.2 | |
| OFLOPS | Stanford University |
OFlops is a standalone controller that benchmarks various aspects of an OpenFlow switch. Oflops implements a modular framework for adding and running implementation-agnostic tests to quantify an switch's performance. | |
| OFTest | Big Switch Networks |
OFTest is a Python based OpenFlow switch test framework and collection of test cases. It is based on unittest which is included in the standard Python distribution. | |
| perfSONAR | Energy Services Network (ESnet) |
| perfSONAR is a tool for end-to-end monitoring and troubleshooting of multi-domain network performance. perfSONAR provides network engineers with the ability to test and measure network performance, as well as to archive data in order to pinpoint and… | |
| TestON | Paxterra Solutions |
| An open source extensible automation infra structure | |
SOFTWARE LIBRARIES
ProjectOrganization(s)| DPDK.org | 6WIND |
|---|---|
| dpdk.org is an open-source project to accelerate the development of Intel® Data Plane Development Kit (Intel® DPDK) architecture-based networking and telecoms products. | |
| Nettle | Yale University |
Nettle allows networks of OpenFlow switches to be controlled using a high-level, declarative and expressive language. It is implemented on a Haskell library that supports the OpenFlow protocol and provides an OpenFlow server. | |
| OFLib-Node | Ericsson |
Oflib-node is an OpenFlow protocol library for Node. It converts between OpenFlow wire protocol messages and Javascript objects. | |
| OpenFaucet | Midokura |
OpenFaucet is a pure Python OpenFlow implementation by Midokura, released under the Apache license. | |
| OpenFlowJ | Midokura |
OpenFlowj is a complete implementation of the OpenFlow protocol in Java. It is used by Beacon and FlowVisor. | |
OTHER
ProjectOrganization(s)| CPqD / of13softswitch | CPqD |
|---|---|
An OpenFlow 1.3 compatible user-space software switch implementation based on the Ericsson TrafficLab 1.1 softswitch implementation. | |
| FlowScale | Indiana University InCNTRE |
FlowScale is a project to divide and distribute traffic over multiple physical switch ports. FlowScale replicates the functionality in load balancing appliances but using a Top of Rack (ToR) switch to distribute traffic. | |
| Frenetic | Princeton University |
Frenetic is a domain-specific language for programming OpenFlow networks, embedded in Python. | |
| Indigo | Big Switch Networks |
Indigo is an open source OpenFlow implementation that runs on physical switches and uses the hardware features of Ethernet switch ASICs to run OpenFlow at line rates. It is based on the OpenFlow Reference Implementation from Stanford and… | |
| LINC | Infoblox |
| LINC is an open source project led by FlowForwarding effort and is an Apache 2 license implementation based on OpenFlow 1.2. LINC is an ERLANG based switch for Linux. | |
| OFSS | Ericsson |
| An OpenFlow software switch implementation from TrafficLab, Ericsson Research, Hungary. | |
| OpenvSwitch | Nicira (Acquired by VMware) |
| Open vSwitch is a multilayer virtual switch licensed under the Apache license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow,… | |
| Pantou (OpenWRT) | Stanford University |
Pantou turns a commercial wireless router/Access Point to an OpenFlow-enabled switch. OpenFlow is implemented as an application on top of OpenWrt. Pantou is based on the BackFire OpenWrt release (Linux 2.6.32). The OpenFlow module is based on the… | |
| Pica8/XORPlus | Pica8 |
| Pica8 provides XORPlus under a restricted source license (derivative rights allowed, object-form allowed, but no exposure of Pica8’s code to anyone without prior approval). XORPlus is a L2/L3 stack that powers Pica8’s Pronto line of switches today | |
| Quagga | Quagga Routing Project |
Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra which was developed by Kunihiro… | |
| Resonance | Georgia Tech University |
Resonance is a Network Access Control application built using NOX and OpenFlow. | |
| RouteFlow | CPqD |
RouteFlow is an open source project to provide virtualized IP routing services in OpenFlow networks. RouteFlow combines the flexibility of open-source Linux-based routing stacks (e.g., Quagga, XORP) with the line-rate performance of OpenFlow… | |
| The Snabb Switch Project | Snabb |
Snabb Switch | |
NFV and SDN: What's the Difference?
Top 5 Highlights from Open Networking Summit – ONS 2013 Tutorial Day
SDN And The Forgotten Data Plane – Is My Flow Equal To Your Flow?
Exclusive: Shining the Spotlight on OpenDaylight-What you MUST know about the...
Featured Post: OpenStack Networking--Operational Simplicity With Cisco Nexus...