Skip to content
Go to file

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 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


alt text

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:


Experimental openflow controller



No releases published


No packages published


You can’t perform that action at this time.