Top 50 Awesome List


Networking  2 years ago  1.1k
A awesome list about Software Defined Network (SDN)
View on Github

Oct 18th, 2020

Network Operating System

  • Mionstars4 - A switch OS based on ONLP API and Yocto project.
  • Misc

  • Aether Project - the first open source Enterprise 5G/LTE Edge-Cloud-as-a-Service platform (ECaaS).
  • Controller

  • OpenContrail - A SDN project that utilizes SDN & NFV and provides all the necessary components for network virtualization.
  • Ryu - A component-based software defined networking framework.
  • Books

  • SDN: Software Defined Networks: An Authoritative Review of Network Programmability Technologies
  • Mar 9th, 2020

    Network Operating System

  • Beluganosstars116 - Beluganos is a new network OS designed for white-box switches (OF-DPA), which can apply large-scale networks.
  • OcNOS - Extensive switching and routing protocol support with advanced capabilities such as MPLS and SDN
  • Open Network Linux, ONL - A Linux distribution for "bare metal" switches, that is, network forwarding devices built from commodity components.
  • OpenSwitch - A linux network operating system from Dell EMC.
  • PicOS - A SDN OS for white box switches Layer-2/3 feature set with support for OpenFlow, OVSDB, and other protocols.
  • SONiC - Software for Open Networking in the Cloud SONiC
  • Stratum - An open source, silicon-independent switch operating system for software-defined networks
  • Software Switch

  • BESSstars267 - Berkeley Extensible Software Switch, BESS is a modular framework for software switches.
  • bmv2stars401- A P4 software switch which is usually used as a tool to verify the funtions the developers describe in P4 language.
  • FD.IO - Relentlessly focused on data IO speed and efficiency for more flexible and scalable networks and storage
  • Indigostars64 - Indigo is an open source project aimed at enabling support for OpenFlow on physical and hypervisor switches.
  • Open vSwitch - Open vSwitch is a production quality, multilayer virtual switch.
  • PISCES - A Programmable, Protocol-Independent Software Switch.
  • Protocol

  • gNMIstars358 - gRPC Network Management Interface
  • gNOIstars117 - gRPC Network Operations Interface
  • Controller

  • Beehive Network Controllerstars63 - A distributed SDN controller built on top of Beehive. It supports OpenFlow but can be easily extended for other southbound protocols.
  • Floodlightstars702 - A java-based OpenFlow controller.
  • IRIS - A Resursive SDN Openflow Controller created by SDN Research Section, ETRI.
  • Netrackstars68 - An OpenFlow controller framework in Go.
  • NOXstars134 - An open source development platform for C++-based software-defined networking (SDN) control applications.
  • OESSstars27 - The Open Exchange Software Suite to configure and control OpenFlow Enabled switches.
  • OpenDaylight - OpenDaylight Platform
  • POXstars584 - An open source development platform for Python-based software-defined networking (SDN) control applications.
  • Ravelstars8 - A software-defined networking (SDN) controller that uses a standard SQL database to represent the network.
  • Trema - A full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby and C.
  • Vyattastars42 - The first commercial Controller built directly from OpenDaylight.
  • Simulator/Emulator

  • Containernetstars309 - Mininet fork that allows to use Docker containers as hosts in emulated networks
  • MaxiNet - MaxiNet extends the famous Mininet emulation environment to span the emulation across several physical machines. This allows to emulate very large software-defined networks.
  • Mininet - An Instant Virtual Network on your Laptop (or other PC)
  • OpenNetstars70 - A simulator for software-defined wireless local area network
  • Language

  • Freneticstars209 - The Frenetic Programming Language and Runtime System
  • NEMO - A domain specific language (DSL) based on abstraction of network models and conclusion of operation patterns.
  • Library

  • oflib-nodestars15 - Oflib-node is an OpenFlow protocol library for Node. It converts between OpenFlow wire protocol messages and Javascript objects.
  • openfaucetstars26 - openfaucet is a pure Python implementation of the OpenFlow 1.0.0 protocol, based on Twisted.
  • OpenFlowJ - A Java implementation of low-level OpenFlow packet marshalling/unmarshalling and IO operations.
  • Test

  • Cbenech - Benchmarking tool for controllers
  • ofteststars84 - OpenFlow Testing Framework
  • STS - SDN Troubleshooting System, simulates network devices, allowing programmatically test cases generation.
  • Overlay Network

  • NVGRE - NVGRE-Network-Virtualization-using-Generic-Routing-Encapsulation
  • VXLAN - Virtual Extensible LAN
  • Router

  • bgp4rstars24 - BGP4R is a ruby library which enables the creation and manipulation of BGP messages. In BGP4R, all well-known BGP constructs are defined in classes.
  • BGPFeederstars7
  • FreeRouter - Java-based vRouter
  • Quagga - 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 Ishiguro.
  • Misc

  • Open Network Automation Platform, ONAP - Alignment of the two projects creates a harmonized and comprehensive framework for real-time, policy-driven software automation of virtual network functions that will enable software, network, IT and cloud providers and developers to rapidly create new services.
  • Open Source MANO Community, OSM
  • OPEN-Orchestrator Project, Open-O
  • High Performance Network

  • ASAP2 - The ASAP2 accelerator is built on top of eSwitch NIC hardware, and allows either the entire virtual switch, or significant portions of virtual switch or distributed virtual router (DVR) operations to be offloaded to the Mellanox NIC
  • Userspace Network Stack

  • mTCPstars1.8k - mTCP is a highly scalable user-level TCP stack for multicore systems. mTCP source code is distributed under the Modified BSD License. For more detail, please refer to the LICENSE. The license term of io_engine driver and ported applications may differ from the mTCP’s.
  • net-next-nusestars265 - Network Stack in Userspace (NUSE) NUSE allows us to use Linux network stack as a library which any applications can directory use by linking the library. Each application has its own network stack so, it provides an instant virtualized environment apart from a host operating system.
  • Analytics

  • Apache Spot - Community-driven cybersecurity project, built from the ground up, to bring advanced analytics to all IT Telemetry data on an open, scalable platform
  • Books

  • DevOps for Networking
  • Network Algorithmics:An Interdisciplinary Approach to Designing Fast Networked Devices
  • Network Programmability and Automation Skills for the Next-Generation Network Engineer
  • SDN网络指南(OpenSource Book in Chinese by Pengfei Ni)
  • SDN核心技术剖析和实战指南
  • Software Defined Networking with OpenFlow
  • Paper

  • A Survey on the Security of Stateful SDN Data Planes
  • SDN A Comprehensive Survey
  • Mar 6th, 2019


  • corestars98 - core components - An open source development framework for building Java-based SDN controllers.
  • Oct 24th, 2018

    Network Operating System

  • OpenWrt - Is a Linux Operating System targeting embedded devices.
  • Oct 21st, 2018


  • OVN - OVN: Open Virtual Network for Open vSwitch
  • Overlay Network

  • GENEVE - What is GENEVE?
  • Oct 20th, 2018


  • P4 Runtime
  • OF-Config - OpenFlow Management and Configuration Protocol
  • Test

  • ptfstars106 - A python based dataplane test framework based on unittest.
  • Router

  • Bird - 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.
  • gobgpstars3k - GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a modern programming language, the Go Programming Language.
  • yabgpstars206 - YABGP is a yet another Python implementation for BGP Protocol. It can be used to establish BGP connections with all kinds of routers (include real Cisco/HuaWei/Juniper routers and some router simulators like GNS3) and receive/parse BGP messages for future analysis.
  • Userspace Network Stack

  • nff-gostars1.2k - NFF-Go becomes part of DPDK project umbrella under Linux Foundation! Mirror repo can be found here: We will accept patches through DPDK mail-list and standard DPDK contribution process too.
  • Mar 28th, 2018


  • POF - Protocol Oblivious Forwarding
  • Awesome Posts

  • VXLAN L3应用EVPN,呈现完整overlay网络
  • Dec 29th, 2017


  • nettlestars20 - A Haskell library for working with the OpenFlow protocol.
  • Oct 9th, 2017


  • Mininet Spear Narmox - A online web service provides a visualization of Mininet Topology
  • Oct 3rd, 2017


  • Open Security Controller - Software-defined security orchestration solution that automates deployment of virtualized network security functions, like next-generation firewall, intrusion prevention systems and application data controllers
  • Analytics

  • PNDA - The scalable, open source big data analytics platform for networks and services.
  • SNAS - Streaming Network Analytics System (project SNAS) is a framework to collect, track and access tens of millions of routing objects (routers, peers, prefixes) in real time.
  • Sep 14th, 2017

    High Performance Network

  • RDMA - Remote direct memory access (RDMA) is a direct memory access from the memory of one computer into that of another without involving either one's operating system. This permits high-throughput, low-latency networking
  • XDP - XDP or eXpress Data Path provides a high performance, programmable network data path in the Linux kernel as part of the IO Visor Project.
  • Userspace Network Stack

  • drv-netif-dpdkstars188 - drv-netif-dpdk is a DPDK network interface for rump kernels. The combined result is a userspace TCP/IP stack doing packet I/O via DPDK.
  • f-stackstars3.3k - F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
  • Paper

  • Re-architecting datacenter networks and stacks for low latency and high performance
  • Simulator/Emulator

  • Tinynetstars44 - A lightweight instant virtual network for rapid prototyping SDN
  • Sep 13th, 2017

    High Performance Network

  • DPDK - DPDK is a set of libraries and drivers for fast packet processing.
  • Sep 9th, 2017


  • FRRouting - An IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng, PIM-SM/MSDP and LDP as well as very early support for IS-IS, EIGRP and NHRP.
  • Apr 4th, 2017

    Mar 1st, 2017

    Feb 25th, 2017

    Software Switch

  • ZeroTierstars9.6k - ZeroTier is a software-based managed Ethernet switch for planet Earth.
  • Simulator/Emulator

  • ns-3 - A discrete-event network simulator that supports OpenFlow environment.
  • Network Operating System

  • Cumulus Linux - Cumulus Linux is a powerful open network operating system that allows you to automate, customize and scale using web-scale principles like the world's largest data centers.
  • FlexSwitch - The first open source network protocol suite offering complete layer2/layer3 functionality for accelerating development and deployment of whitebox networking gear
  • Sep 30th, 2016


  • ONOS - Open Network Operating System.
  • Mar 15th, 2016


  • OPNFV - Accelerating NFV's evolution through an integrated, open platform.
  • Misc

  • Central Office Re-architected as a Datacenter, CORD - Reference Implementation of a Service Delivery Platform that Provides Cloud Economies and Agility.
  • Feb 8th, 2016

    Install Environment

  • ONIE - ONIE enables a bare metal network switch ecosystem where end users have a choice among different network operating systems.
  • Jan 29th, 2016


  • OCaml OpenFlowstars13 - A serialization and protocol library for OpenFlow.
  • loxigenstars96 - LoxiGen is a tool that generates OpenFlow protocol libraries for a number of languages.
  • Language

  • Pyretic - Pyretic is one member of the Frenetic family of SDN programming languages.
  • P4 - A declarative language for expressing how packets are processed by the pipeline of a network forwarding element such as a switch, NIC, router or network function appliance.
  • Network Virtualization

  • FlowVisorstars157 - An OpenFlow controller that acts as a hypervisor/proxy between a switch and multiple controllers. Can slice multiple switches in parallel, effectively slicing a network.
  • OpenVirtexstars85 - A network hypervisor that can create multiple virtual and programmable networks on top of a single physical infrastructure.
  • Software Switch

  • snabbswitchstars2.8k - An open source virtualized Ethernet networking stack.
  • LINC-Switchstars211 - A pure OpenFlow software switch written in Erlang
  • CPqDstars283- An OpenFlow 1.3 compatible user-space software switch implementation
  • Lagopus - A high-performance software OpenFlow 1.3 switch.
  • Test

  • OpenSDNCore - Virtualisation Testbed for NFV/SDN Environment.
  • nice-of - A tool to test OpenFlow controller application for the NOX controller platform.
  • Controller

  • Open MUL - A lightweight SDN/Openflow controller written almost entirely in C from scratch.
  • NodeFlowstars58 - An OpenFlow Controller Node Style.
  • Protocol

  • OVSDB - A communication protocol which used to manage the OpenvSwitch database.
  • OpenFlow - A communications protocol that gives access to the forwarding plane of a network switch or router over the network.
  • Simulator/Emulator

  • EstiNet - A world-renowned software tool for network planning
  • Last Checked At: 2022-09-30T16:18:50.576Z


    Track your favorite github awesome repo, not just star it. provides website, newsletter, RSS for tracking the popular awesome list by daily and weekly.
    Contact us: [email protected]
    Track Awesome List - Track your favorite Github awesome repos, not just star them | Product Hunt


    Subscribe to our weekly newsletter to receive the awesome updates! We never send spam and you can unsubscribe instantly with one click. Here's past issues.


    Follow us on TwitterSubscribe us on TelegramSubmit awesome list repoNewsletterDonateSitemap