While Software Defined Networking is starting to fulfill some of its promises, the danger of vendor lock-in still lurks: Network control applications are closely tied to a particular controller framework and not easily portable between them; multiple controller frameworks are usually not able to cooperate inside a single network.
This paper describes architectural options to enable portability and cooperation inside a single network, recommending a master/client multi-controller approach at runtime, with some additional information about network control applications generated at development time.