Three months after the formation of the OpenDaylight Project, the open source SDN community has approved controller...
code and is now accepting contributions for add-on components, such as mapping services for flow management.
Until recently, most of the chatter about OpenDaylight has focused on whether the process of choosing controller code would be dominated by larger and more moneyed vendors -- most notably Cisco. In fact, in June, SDN innovator Big Switch stepped down from its leadership role in the organization, denouncing the consortium's controller as being too Cisco-centric.
OpenDaylight controller overview
But the organization reached consensus on a controller strategy that has become known as the Dixon-Erickson proposal -- named for consortium contributors Colin Dixon, a researcher at IBM, and David Erickson, a recent Stanford University PhD. The proposal combines elements of contributed code from Big Switch, Cisco and others. The controller design is based on a service abstraction layer that uses the Java interface language Open Service Gateway Initiative (OSGi) with common open application programming interfaces (APIs) to enable plug-ins for modular applications. In some cases these applications -- called bundles -- will be key controller features, such as network virtualization, but will live externally or beside the core controller. Other features, such as user authorization, will be incorporated into the controller. Above that layer is an open northbound API where other applications can be built.
This differs from the typical explanation of SDN where all applications, such as Layer 4-7 services, lie above a simple northbound API. But the single northbound API is a "mythical beast," according to Dixon. Erickson added, "In general there are some baseline apps and functionality that must exist within the controller." Some of those features include device and code discovery, for example.
More on SDN controllers
Meet Contrail, Juniper's SDN controller
Are specialized SDN controllers necessary?
How Brocade's application delivery controller will serve in SDN
Big Switch's SDN ecosystem and an army of partners
At this point, the consortium is still trying to figure out "what functionality needs to be in the controller and what can live in the OSGi bundle" or as a loadable module, said David Meyer, chief technology officer and chief scientist at San Jose, Calif.-based Brocade, and who serves as the chairman of OpenDaylight's Technical Steering Committee. If features are built into the controller, it leaves open the question of how locked-in users of these applications and services will be. The point of an open API is to encourage creative app development.
"I have been on a soap box in that we don't want to put project-specific code into the controller," Meyer said. But if there is code, for example, that helps other projects, it's worth incorporating.
So far a number of additional projects called "boot-strap" components have been submitted -- and these could be either part of the controller or live as bundles. NEC submitted its Virtual Tenant Network platform, a network virtualization and provisioning solution. IBM also submitted its DOVE network virtualization platform. In addition, ConteXtream has proposed a list mapping service to build network functions virtualization (NFV)-style flow management. Other proposals include an intrusion detection system and a YANG modeling language tool that could be used for simpler service abstraction.
As these projects are debated, OpenDaylight will form an advisory group of users that can play with the code and also submit new features on an ongoing basis, said Jim Zemlin, executive director of the Linux Foundation, which hosts OpenDaylight. The goal for members, he said, should not be to get their code incorporated, but rather to push any code that betters all of the projects involved.
Eventually there will be an integrated release of controller code and added boot-strap applications or functions, but even as that occurs new features will continued to be considered. Meyer predicts the controller and some features will be in use by this coming December.