cloudparts

OpenDaylight

An open-source SDN controller in Java: it models networks and devices in YANG, talks to them over NETCONF, BGP, PCEP, OpenFlow, gNMI and more, and exposes it all as a RESTCONF API.

LFN · Graduated
Type
Open source
Made by
LF Networking (Linux Foundation)
Foundation
LF Networking, graduated. A Linux Foundation project since April 2013; one of LF Networking’s six founding projects in January 2018. Part of the Linux Foundation
License
EPL 1.0
Facts checked
28 October 2026

What it is

OpenDaylight sits between network applications and the devices they manage. At its centre is the Model-Driven Service Abstraction Layer (MD-SAL): every piece of data, from a device’s interface configuration to the network topology, is described by a YANG model, and the models generate the datastore’s schema, Java interfaces and a RESTCONF API (RFC 8040). Southbound plugins speak to the network in its own protocols: NETCONF for configuring routers and switches, BGP and PCEP for routing and path computation, OpenFlow and OVSDB for software switches, LISP, and, since the Vanadium release, gNMI for streamed telemetry. TransportPCE, also part of the release, controls optical transport networks.

Each plugin and service is a separate feature you switch on, packaged as OSGi bundles in an Apache Karaf container that runs on any Java 21 JVM. With the NETCONF connector, for example, a single RESTCONF request adds a device; OpenDaylight connects, downloads the device’s YANG models and mounts it, after which the device’s own configuration and state can be read and changed through the same API, checked against those models. Controllers can run as a cluster for high availability. Vendors also build on it: PANTHEON.tech, which calls itself the largest contributor, maintains lighty.io, a lighter way to run the same components, and offers long-term supported builds.

OpenDaylight ships a release roughly every six months, named after chemical elements: Titanium in August 2025, then Vanadium, the 23rd, in January 2026, which moved to Java 21 and added the gNMI plugin; its second service release came in September 2026. It is a graduated project of LF Networking, the Linux Foundation’s umbrella for open networking projects.

Why teams pick it

  • Model-driven: anything with a YANG model gets a typed datastore and a RESTCONF API without hand-written glue
  • Speaks many southbound protocols, so one controller can manage multi-vendor routers, software switches and optical gear
  • Vendor-neutral and long-lived: more than 20 releases since 2014, a graduated LF Networking project
  • Pick only the features you need, and run them clustered for high availability

Watch out for

  • A large Java platform: OSGi, Karaf, MD-SAL and YANG code generation take time to learn and to run well
  • Releases every six months mean frequent upgrades, which is why vendors sell long-term supported distributions
  • Many projects from its early years, such as NetVirt for OpenStack networking, are missing from the current release notes; check that the feature you need still ships
  • It is a toolkit for building network applications, not a finished product with a polished UI

Alternatives

What all software-defined networking have in common →Compare side by side →

Mount a NETCONF device, then read its state through RESTCONF · http

PUT /restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-netconf-device
Content-Type: application/json

{ "node": [ {
    "node-id": "new-netconf-device",
    "netconf-node": {
      "netconf-node-topology:host": "127.0.0.1",
      "netconf-node-topology:port": 17830,
      "netconf-node-topology:tcp-only": false,
      "netconf-node-topology:login-password-unencrypted": {
        "netconf-node-topology:username": "admin",
        "netconf-node-topology:password": "admin"
      }
    }
} ] }

GET /restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-netconf-device/yang-ext:mount?content=nonconfig

See it in a real stack

No architecture uses OpenDaylight yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2013–2026

By 2013 software-defined networking was the industry’s favourite idea, and every vendor had or planned its own controller. On April 8, 2013 the Linux Foundation launched OpenDaylight with founding members including Big Switch Networks, Brocade, Cisco, Citrix, Ericsson, IBM, Juniper Networks, Microsoft, NEC, Red Hat and VMware, to build one shared open-source controller instead.

The first release, Hydrogen, came out on February 4, 2014, after seven months of work by 154 developers, in Base, Virtualization and Service Provider editions. Releases have followed the periodic table ever since. In January 2018 OpenDaylight became one of the six founding projects of LF Networking, alongside ONAP, OPNFV, FD.io, PNDA and SNAS, which share a governing board and staff while keeping their own technical communities.

Over time the project narrowed to its core: the controller, MD-SAL, YANG tools, NETCONF, RESTCONF and a set of protocol plugins, while earlier projects such as OpenStack networking dropped out of the release. Vanadium, the 23rd release, arrived in January 2026.

Why it’s built this way

Model-driven, with YANG at the centre
Generating APIs and data structures from YANG models let one controller handle any device or service that has a model, instead of hand-coding each one.
A plugin platform rather than one product
Members had different uses in mind, from data centre overlays to carrier WANs, so the controller became a set of features each user enables as needed.
Java on OSGi and Karaf
Modular bundles let vendors package and load only the plugins they need, and swap them without rebuilding the whole controller.

Timeline

  1. 2013

    OpenDaylight launched at the Linux Foundation on April 8

  2. 2014

    First release, Hydrogen, on February 4

  3. 2018

    Founding project of LF Networking in January

  4. 2025

    Titanium release in August

  5. 2026

    Vanadium, the 23rd release, in January: Java 21 and a gNMI plugin

Sources9 · facts checked 28 October 2026

Improve this page on GitHub