Added reasoning about why yet another sdn controller. authored by Martin Stiemerling's avatar Martin Stiemerling
# Introduction
This is the wiki used to document the high-level views about the goSDN SDN-Controller. goSDN is a SDN controller initially developed as part of research and development cooperation between Deutsche Telekom and the [da/net research group](https://danet.fbi.h-da.de/).
This is the wiki used to document the high-level views about the _goSDN_ SDN controller. goSDN is a SDN controller initially developed as part of research and development cooperation between Deutsche Telekom and the [da/net research group](https://danet.fbi.h-da.de/).
# Why yet another SDN controller?
There is already a number of existing SDN-controllers, such as, but not limited to, [ONOS](https://opennetworking.org/onos/), [Opendaylight](https://www.opendaylight.org/), [Ryu](https://ryu-sdn.org/) and [Floodlight](https://github.com/floodlight).
While each of these has their own merrits, e.g., Ryu is a development framework that one can program in order to make use of certain southbound protocols, while ONOS is aiming at a general purpose all-you-can-do controller.
However, for our purpose we need a cleanly designed and documented SDN controller, as we aim at multiple intended uses, as we do not see that the currently available SDN controllers fulfill our needs.
The intended use cases:
- Multi-domain controller for optical wide-area networks – this includes hierarchically stacked SDN controllers
- controller for data center networks
- controller for mobile networks
- controller for teaching and learning topics in networking in general and software defined networks
The high-level requirements:
- clearly structured source code with no or limited SDN development legacy
- focus on KISS: Keep It Simple Stupid
- cope with the fallout of KISS
- document the architecture, design decisions, the source code, and the external and internals workings of goSDN
- support of multiple Southbound-Interfaces (SBI) in parallel
There are already a number of existing SDN-controllers, such as, but not limited to, [ONOS](https://opennetworking.org/onos/), [Opendaylight](https://www.opendaylight.org/), [Ryu](https://ryu-sdn.org/) and [Floodlight](https://github.com/floodlight).
# Overview of this wiki
......
......