Kandoo: A Framework for Efficient and Scalable Offloading of Control Applications

Limiting the overhead of frequent events on the control plane is essential for realizing a scalable Software-Defined Network. One way of limiting this overhead is to process frequent events in the data plane. This requires modifying switches and comes at the cost of visibility in the control plane. Taking an alternative route, the authors propose Kandoo, a framework for preserving scalability without changing switches. Kandoo has two layers of controllers: the bottom layer is a group of controllers with no interconnection, and no knowledge of the network-wide state, and the top layer is a logically centralized controller that maintains the network-wide state. Controllers at the bottom layer run only local control applications (i.e., applications that can function using the state of a single switch) near data paths.