Hosted by the Linux Foundation, OpenDaylight Project (ODL) is an open source SDN project aimed at enhancing software-defined networking (SDN) by offering a community-led and industry-supported framework for the OpenDaylight Controller, which has been renamed the OpenDaylight Platform. It is open to anyone, including end users and customers, and it provides a shared platform for those with SDN goals to work together to find new solutions.
Since the OpenDaylight platform is both multiprotocol and modular, users can build an SDN controller to fit their specific needs. This modular and multiprotocol approach gives IT admins the ability to pick a singular protocol or to select multiple protocols to resolve complex problems as they crop up. The platform includes support for all SDN platforms, including OpenFlow, OVSDB, NETCONF, and BGP.
The OpenFlow protocol, considered the first SDN standard, defines the open communications protocol that allows the SDN Controller to work with the forwarding plane and make changes to the network. This gives businesses the ability to better adapt to their changing needs, and have greater control over their networks.
The OpenDaylight Controller exposes open northbound APIs, which are used by applications. These applications use the controller to collect information about the network, run algorithms to conduct analytics, and then use the OpenDaylight Controller to create new rules throughout the network.
The OpenDaylight Controller is implemented solely in software and is kept within its own Java Virtual Machine (JVM). This means it can be deployed on hardware and any operating system platforms that support Java. The controller uses these tools:
- Maven for build automation
- OSGi for dynamically loading bundles and packaging JAR files
- JAVA interfaces for event listening, specifications, and forming patterns.
- REST APIs such as topology manager, host tracker, flow programmer, and static routing.
Overview of OpenDaylight Controller and Software Releases
The first software code release for the OpenDaylight Controller is Hydrogen. It was the first simultaneous release of OpenDaylight and features three different editions to help users get started: the Base Edition, the Virtualization Edition, and the Service Provider Edition. The three types of the software ensure a wide array of users can implement Hydrogen.
The second code release for OpenDaylight Controllers is Helium. It features a new user interface, and a more simplified and customizable installation process, due to the use of the Apache Karaf container. This code release also has deeper integration with OpenStack, including improvements in the Open vSwitch Database Integration project, as well as other features like Security Groups, Distributed Virtual Router, and Load Balancing-as-a-Service.
The OpenDaylight Project launched its third software release, Lithium, in summer 2015. With The Lithium release, ODL has repositioned the OpenDaylight Controller as the OpenDaylight Platform.
The fourth release, Beryllium, focused on enabling uses cases for the cloud and NFV. It offered clustering and a new GUI. It also enhanced performance, scalability, and functionality compared to the previous versions.
Boron, the fifth release, included support for YANG models. It also manages interoperability between open source SDN controllers with the introduction of NetIDE
In 2017, ODL released Carbon and it focused on three areas: “Enhancements to support IoT, Metro Ethernet and cable operator needs; Integrated NFV management; ‘S3P’, with a particular focus on clustering and federation.” It also allowed for better deployment management of network usage from the edge by using rich quality of service (QoS) APIs.
ODL offered the seventh version, Nitrogen, a short three months after the release of Carbon. ODL states that Nitrogen’s main goal was the implementation of Karaf4. Karaf4 is an ODL component that allows users to decide which protocols and services their SDN controller will support. By incorporating Karaf4 into the OpenDaylight platform, new features will deploy more rapidly. Karaf4’s dependency map also makes it easier to locate and isolate networking malfunctions.
The latest release, Oxygen, includes a P4 plugin to include data plane abstraction in the OpenDaylight platform. The P4 community joined ONF and Linux Foundation in 2018 to be a part of the join collaboration behind open source technologies. In addition to the P4 plugin, the Oxygen release is dedicated to container orchestration. It includes a Kubernetes plug-in to support container-based workloads and a Neutron Northbound extensions for mixed VM-container environments