Network Functions Virtualization / Software Defined Networking Open Source Projects
SDN, NFV, and Network Virtualization have a robust Open Source community. With the burgeoning development community around SDN / NFV including OpenFlow, 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, join our mailing list to stay up to date on all things SDN.
NFV SECURITY APPLICATIONProjectOrganization(s)
|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.
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 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…
|Resonance||Georgia Tech University|
Resonance is a Network Access Control application built using NOX and OpenFlow.
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…
|Juniper Networks Neutron||Juniper Networks|
|The Juniper Networks plug-in for OpenStack Neutron enables you to use the DMI/NETCONF interfaces on Juniper Networks switches to orchestrate virtual networks.|
|Juniper Networks Quantum||Juniper Networks|
|The Juniper Networks plug-in for OpenStack Quantum enables you to use the DMI/NETCONF interfaces on Juniper Networks switches to orchestrate virtual networks|
|Open Source Data Center Level Virtual Network Hypervisor to create multi-tenant networks on top of physical network using OpenFlow 1.3 in Ruby. Licensed under LGPL v3.|
|The Snabb Switch Project||Snabb|
|Snabb Switch is an open source virtual Ethernet switch for cloud networks.|
|Brocade Quantum Plugin for VDX/VCS provides a means to interface Openstack’s Networking (formerly Quantum Networking) to orchestrate Brocade’s physical switches.|
|Mellanox Neutron||Mellanox Technologies|
|The Openstack Mellanox Neutron plugin supports Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.|
|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)
|PLUMgrid Neutron Plugin for Virtual Network Infrastructure (VNI).|
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 to a…
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…
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…
|A work in progress, vendor-agnostic API for network switches/L2 automation|
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.|
|Tapestry is a system that measures network complexity by capturing Domain Name System (DNS) endpoint interaction data via OpenFlow enabled network taps in front of one or more of an organization's internal recursive DNS servers.|
|Luxoft's Twister test automation platform is an open source framework designed specifically for network infrastructure markets. Easy-to-deploy Twister supports the OpenFlow protocol for software-defined networking (SDN).|
|Beacon is a fast, cross-platform, modular, Java-based controller that supports both event-based and threaded operation.|
|Floodlight||Big Switch Networks|
The Floodlight Open SDN Controller is an enterprise-class, Apache-licensed, Java-based OpenFlow Controller. It is supported by a community of developers including a number of engineers from Big Switch Networks.
|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.|
|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.|
|OpenContrail is an Apache 2.0-licensed project that is built using standards-based protocols and provides all the necessary components for network virtualization–SDN controller, virtual router, analytics engine, and published northbound APIs. Learn…|
|OpenDaylight Project||OpenDaylight Project|
|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 is a Python-only version of NOX that provides controller functionality within a rapid prototyping environment.|
|Protocol Oblivious Forwarding (POF) Controller||Huawei|
|Control to support POF, based on Floodlight with POF extensions.|
|Ryu Network Operating System||NTT Data|
|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.|
|An Open Source modular framework for developing OpenFlow controllers in Ruby/C.|
SDN SOFTWARE LIBRARIESProjectOrganization(s)
|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.|
|Frenetic is a domain-specific language for programming OpenFlow networks, embedded in Python|
|NetConf Library in Erlang||FlowForwarding.Org|
|NetConf Library in Erlang needed for riding OF-Config protocol on the wire to an OpenFlow Capable Switch|
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.
OpenFaucet is a pure Python OpenFlow implementation by Midokura, released under the Apache license.
OpenFlowj is a complete implementation of the OpenFlow protocol in Java. It is used by Beacon and FlowVisor.
|Warp is an OpenFlow Controller implementation is based on Apache AVRO library|
SDN SWITCHING & ROUTINGProjectOrganization(s)
|CPqD / of13softswitch||CPqD|
An OpenFlow 1.3 compatible user-space software switch implementation based on the Ericsson TrafficLab 1.1 softswitch implementation.
|Indigo (1st Generation)||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…
|Indigo (2nd Generation)||Big Switch Networks|
Indigo 2nd Generation is an open source project aimed at enabling support for OpenFlow on physical and hypervisor switches. Big Switch has helped companies OpenFlow enable their equipment, and they provide firmware for a number of switches.
|Indigo Virtual Switch (IVS)||Big Switch Networks|
Indigo Virtual Switch (IVS) is an open source virtual switch for Linux compatible with the KVM hypervisor and leveraging the Open vSwitch kernel module for forwarding. IVS is built on the Indigo2 Framework and leverages LoxiGen generated code.
|LINC is a pure OpenFlow software switch written in Erlang. It's implemented in operating system's user space as an Erlang node. LINC can be installed on hardware or as a VM on a hypervisor.|
|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.|
|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 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|
|Protocol Oblivious Forwarding (POF) Soft Switch||Huawei|
|Soft switch implmented in linux server to support POF|
|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 Ishigur|
|The BIRD||CERN Internet eXchange Point (CIXP) |
|The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems and distributed under the GNU General Public License.|
SIMULATION, TESTING AND TOOLSProjectOrganization(s)
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.
|LINC on Mininet||FlowForwarding.Org|
|Ability to run LINC on Mininet|
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 is a tool to test OpenFlow controller application for the NOX controller platform through a combination of model checking and symbolic execution|
Wireshark dissectors for OpenFlow 1.1 and 1.2
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 framework and test suite to test compliance to the OpenFlow specification.
|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…|
|An open-source extensible automation infrastructure|