Beehive Network Controller is a distributed SDN controller built on top of Beehive. It supports OpenFlow but can be easily extended for other southbound protocols.

Beehive network controller is high throughput, fault-tolerant and, more importantly, can automatically optimize itself after a fault:

Beehive Demo

Beehive network controller supports different forwarding and routing methods, has automated discovery, end-to-end paths, and isolation.

Kandoo

You can find an implementation of Kandoo in the kandoo package.