Morpheus: Safe and Flexible Controller Upgrades for SDNs

Karla Saur, Joseph Collard, Nate Foster, Arjun Guha, Laurent Vanbever, and Michael Hicks
Symposium on SDN Research (SOSR), 2016

SDN controllers must be periodically upgraded to add features, improve performance, and fix bugs, but current techniques for implementing dynamic updates–i.e., without disrupting ongoing network functions–are inadequate. Simply halting the old controller and bringing up the new one can cause state to be lost, leading to incorrect behavior. For example, if the state represents flows blacklisted by a firewall, then traffic that should be blocked may be allowed to pass through. Techniques based on record and replay can reconstruct controller state automatically, but they are expensive to deploy and do not work in all scenarios.

This paper presents a new approach to implementing dynamic updates for SDN controllers. We present the design and implementation of a new controller platform called Morpheus that uses explicit state transfer to implement dynamic updates. Morpheus enables programmers to directly initialize the upgraded controller’s state as a function of its existing state, using a domain-specific language that is designed to be easy to use. Morpheus also offers a distributed protocol for safely deploying updates across multiple nodes. Experiments confirm that Morpheus provides correct behavior and good performance.

PDF

@inproceedings{saur:morpheus,
    author = "Karla Saur and Joseph Collard and Nate Foster and Arjun Guha and
               Laurent Vanbever and and Michael Hicks",
    title = "Morpheus: Safe and Flexible Controller Upgrades for SDNs",
    year = 2016,
    booktitle = "Symposium on SDN Research (SOSR)"
  }