Skip to content

Latest commit

 

History

History
513 lines (513 loc) · 11 KB

awesome-sdn.md

File metadata and controls

513 lines (513 loc) · 11 KB

Awesome SDN Awesome Build Status

A awesome list about Software Defined Network (SDN)

Introduction

Software-defined networking (SDN) is an approach to computer networking that allows network administrators to manage network services through abstraction of higher-level functionality. Wiki : Software-defined networking

Network Operating System

  • PicOS - A SDN OS for white box switches Layer-2/3 feature set with support for OpenFlow, OVSDB, and other protocols.
  • OpenNetworkLinux - A Linux distribution for "bare metal" switches, that is, network forwarding devices built from commodity components.
  • OpenSwitch - A linux network oerating system from Hewlett-Packard.

Install Enviroment

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

Software Switch

  • OpenvSwtich - Open vSwitch is a production quality, multilayer virtual switch.
  • Indigo - Indigo is an open source project aimed at enabling support for OpenFlow on physical and hypervisor switches.
  • CPqD - An OpenFlow 1.3 compatible user-space software switch implementation ★ 135, pushed 192 days ago
  • Lagopus - A high-performance software OpenFlow 1.3 switch.
  • LINC-Switch - A pure OpenFlow software switch written in Erlang ★ 178, pushed 376 days ago
  • snabbswitch - An open source virtualized Ethernet networking stack.

Network Virtualization

  • FlowVisor - 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. ★ 89, pushed 1083 days ago
  • OpenVirtex - A network hypervisor that can create multiple virtual and programmable networks on top of a single physical infrastructure. ★ 34, pushed 520 days ago

Protocol

  • OpenFlow - A communications protocol that gives access to the forwarding plane of a network switch or router over the network.
  • OF-Config - OpenFlow Management and Configuration Protocol
  • OVSDB - A communication protocol which used to manage the OpenvSwitch database.
  • POF - Protocol Oblivious Forwarding

Controller

  • NOX - An open source development platform for C++-based software-defined networking ( SDN ) control applications.
  • NodeFlow - An OpenFlow Controller Node Style. ★ 48, pushed 1533 days ago
  • ONOS - Open Network Operating System.
  • OpenDaylight - OpenDaylight Platform
  • POX - A networking software platform written in Python
  • Ryu - A component-based software defined networking framework.
  • Floodlight - A java-based openflow controller.
  • Vyatta - The first commercial Controller built directly from OpenDaylight.
  • OpenContrail - A SDN project that utilizes SDN & NFV and provides all the necessary components for network virtualization.
  • IRIS - A Resursive SDN Openflow Controller created by SDN Research Section, ETRI.
  • Open MUL - A lightweight SDN/Openflow controller written almost entirely in C from scratch.
  • OESS - The Open Exchange Software Suite to configure and control OpenFlow Enabled switches. ★ 13, pushed 129 days ago
  • Beehive Network Controller - A distributed SDN controller built on top of Beehive. It supports OpenFlow but can be easily extended for other southbound protocols. ★ 14, pushed 175 days ago
  • Ravel - A software-defined networking (SDN) controller that uses a standard SQL database to represent the network. ★ 2, pushed 175 days ago

Simulator/Emulator

  • Mininet - An Instant Virtual Network on your Laptop (or other PC)
  • OpenNet - A simulator for software-defined wireless local area network
  • EstiNet - A world-renowned software tool for network planning
  • ns-3 - A discrete-event network simulator that supports openflow environment.

Language

  • 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.
  • Frenetic - The Frenetic Programming Language and Runtime System ★ 89, pushed 129 days ago
  • Pyretic - Pyretic is one member of the Frenetic family of SDN programming languages.

Library

  • loxigen - LoxiGen is a tool that generates OpenFlow protocol libraries for a number of languages. ★ 51, pushed 129 days ago
  • openfaucet - openfaucet is a pure Python implementation of the OpenFlow 1.0.0 protocol, based on Twisted. ★ 30, pushed 1426 days ago
  • oflib-node - Oflib-node is an OpenFlow protocol library for Node. It converts between OpenFlow wire protocol messages and Javascript objects. ★ 12, pushed 1724 days ago
  • OpenFlowJ - A Java implementation of low-level OpenFlow packet marshalling/unmarshalling and IO operations.
  • nettle - A Haskell library for working with the OpenFlow protocol.
  • OCaml OpenFlow - A serialization and protocol library for OpenFlow. ★ 9, pushed 417 days ago

Test

  • oftest - OpenFlow Testing Framework ★ 47, pushed 130 days ago
  • STS - SDN Troubleshooting System, simulates network devices, allowing programmatically test cases generation.
  • nice-of - A tool to test OpenFlow controller application for the NOX controller platform.
  • OpenSDNCore - Virtualisation Testbed for NFV/SDN Environment.

NFV

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

Misc