This is a simple openflow controller that I've built. It is built from scratch with no 3rd party openflow framework. I've implemented this by reading the openflow 1.3 spec and with a lot of help of the excellent http://flowgrammable.org website.
The goal was to experiment and uderstand how openflow works.
This controller creates virtual L3 networks that can span over several OVS switches. More details at http://www.dumais.io/index.php?article=ecb1bf742106e1280f51c6a937033bdb
The controller exposes an API to create the overlay networks.
- POST /router To define a new virtual router
- PUT /router To add virtual networks to a virtual router so that traffic can be routed between each other.
- POST /host To define a new virtual machine
- POST /network To define a new virtual networks
- POST /bridge To define a new hypervisor
- GET /topology To retrieve the virtual topology
- GET /switch To retrieve information about SDN switches and ports
The folder "dumaislib" is a precompiled binary output of my dumaislib library that contains JSON, rest and webserver functionalities. That library can be found in my github repos also.
For more details about the SimpleLearningSwitch implementation: http://www.dumais.io/index.php?article=42968ec40e79c2eb3632de0b0f68af87