OpenDaylight · JavaSE · SDN Framework

Software-Defined
Networking
Made Easy.

An OpenDaylight feature set for programmers & solution architects—without the Karaf overhead. Faster boot, lower memory, full modularity.

Try on GitHub Commercial Solution
lighty-core (MD-SAL · Controller · YANG Tools)
Northbound: RESTCONF · NETCONF
Southbound: SNMP · NETCONF · OpenFlow
Apps: TransportPCE · ONAP SDN-C

OpenDaylight components, liberated from Karaf.

lighty.io is a Software Development Kit powered by OpenDaylight to support, ease & accelerate the development of Software-Defined Networking (SDN) solutions in Java. Developed by PANTHEON.tech.

It utilizes core OpenDaylight components, available as a set of libraries adapted to run in a plain Java SE environment—no OSGi, no Karaf, no container overhead.

The result: faster startup, lower memory footprint, and the freedom to use any Java framework you choose alongside your SDN controller logic.

View on GitHub ↗
7.x+Latest release
Java SERuntime
3Client libs
ODLTop contributor
PANTHEON.tech s.r.o.

Everything you need to build an SDN controller.

Six component categories cover the full lifecycle—from device simulation and southbound connectivity to UI visibility and Docker deployments.

⚙️

SDN Backend

The core controller assembly layer. Includes MD-SAL, YANG Tools, and the OpenDaylight Controller—everything needed to build a fully functioning SDN controller.

For Controller Assembly
🔌

Client Components

Client libraries for Java, Python, and Go that let external applications talk to your lighty.io controller with minimal effort.

For Easy Integration
🖥️

Visibility Components

Pre-built UI and visualization tools that make your network topology and data observable. Faster path from data to insight for your operations team.

For Faster Visualizations
🧪

Device Simulators

Simulate NETCONF and other devices for integration testing without physical hardware. All OpenDaylight services run in the JUnit runtime too.

For Better Integration Testing
🚀

Sample Projects

Ready-to-run reference applications covering common SDN patterns. Clone, explore, and adapt them as a jump-start for your own controller development.

For Development Jumpstart
🐳

Docker Images

Official container images for every major lighty.io module. Deploy instantly to any container orchestration platform with a single pull command.

For Faster Deployments

What's inside each component.

lighty.io ships a core module and a rich set of optional plugins. Your application code starts, stops & restarts modules as required — mix and match exactly what you need.

🏗️

lighty-core

SDN Backend

The foundational module that boots OpenDaylight services in a plain Java SE environment. Provides the shared service registry all other modules depend on.

  • MD-SAL — Model-Driven Service Abstraction Layer
  • Controller — OpenDaylight core controller runtime
  • YANG Tools — schema context, model loading
  • YANG Codecs — JSON / XML serialization (7.x+)
🔼

Northbound Plugins

Controller Interface

Expose your controller's data and operations to management applications via standard northbound APIs.

  • RESTCONF — RFC 8040 compliant REST API
  • NETCONF — northbound NETCONF server
  • gNMI — Google Network Management Interface
🔽

Southbound Plugins

Device Connectivity

Connect your controller to real or simulated network devices using industry-standard southbound protocols.

  • NETCONF — southbound device management
  • OpenFlow — SDN switching protocol support
  • SNMP — legacy device monitoring & management
  • gNMI — streaming telemetry & config (SONiC, etc.)
📦

Apps

Ready-to-deploy

Full application modules that run on top of lighty-core, migrated from their original OpenDaylight Karaf deployments.

  • TransportPCE — optical transport path computation
  • ONAP SDN-C — 2.6× faster boot, 45% less RAM vs vanilla
📚

Client Libraries

Multi-language SDKs

Interact with a running lighty.io controller from any external application, regardless of language.

  • Java — native typed client
  • Python — scripting & automation
  • Go — high-performance microservices
🔧

NETCONF Device Library

Custom Device Creation (7.x+)

Build your own NETCONF devices using your own YANG models. Ideal for simulators, test harnesses, and custom southbound stubs.

  • Define device capabilities in YANG
  • Full NETCONF server scaffolding
  • Integrates with JUnit for automated testing

Less overhead.
More control.

  • 01

    No OSGi / No Karaf

    Drop the heavy runtime. lighty.io boots faster and consumes less memory than a standard OpenDaylight distribution.

  • 02

    Your framework, your choice

    Plain Java SE means Spring Boot, Quarkus, Micronaut—whatever fits your team's stack. No lock-in.

  • 03

    Modular by design

    Start, stop, and restart individual modules at runtime. Ship only what you need; add more as requirements grow.

  • 04

    JUnit-friendly

    All OpenDaylight services are available inside the JUnit runtime, making full unit testing of your SDN logic straightforward.

  • 05

    Dual-mode deployment

    Deploy to lighty.io and standard OpenDaylight simultaneously. Migrate at your own pace, risk-free.

// Bootstrap a lighty controller in plain Java
var config = LightyControllerBuilder
    .from(configJson)
    .build();

var controller = new LightyController(config);
controller.start().get();

// Add RESTCONF northbound
var restconf = new RestConfServer(
    controller.getServices()
);
restconf.start().get();

// Add NETCONF southbound
var netconf = new NetconfTopologyPlugin(
    controller.getServices()
);
netconf.start().get();

// Done — your SDN controller is running.

See full examples in the GitHub repository ↗

Use Cases

lighty.io in the real world.

Explore how lighty.io integrates with modern networking stacks, open-source platforms, and protocols.

Southbound · gNMI

SONiC & lighty.io

Automate SONiC switch configuration using lighty.io's gNMI southbound plugin. Includes RESTCONF vs gNMI benchmark data with up to 92 ACL/s throughput.

Read more →
Integration · OpenFlow

Integrate OpenDaylight Modules

Step-by-step guide to integrating any OpenDaylight project into lighty.io, using the OpenFlow southbound plugin as a worked example.

Read more →
Security · AAA

Authentication, Authorization & Accounting

Add password-protected users, roles, domains and fine-grained REST path policies to your lighty.io SDN controller with the AAA module.

Read more →
Migration · ONAP

ONAP SDN-C on lighty.io

Migration of ONAP's SDN-C from vanilla OpenDaylight to lighty.io cut initialization time from 388s to 147s and RAM usage by more than half.

Read more →
Southbound · OpenFlow

OpenFlow Support

Connect OpenFlow-capable switches to a lighty.io controller, post flows via RESTCONF, and verify device state — complete with Mininet walkthrough.

Read more →
Migration · TransportPCE

Migration of TransportPCE

How to migrate an OpenDaylight application to lighty.io by removing OSGi/Karaf hard dependencies — using TransportPCE as a practical guide.

Read more →
Development · YANG

HTTP Server with YANG-Modeled RPC

Model an RPC in YANG, generate Java classes with Maven, and expose it over HTTP using lighty.io's Codecs component for JSON serialization.

Read more →
Migration · ONAP

Migration of ONAP SDN-C (Technical)

The technical deep-dive into migrating ONAP SDN-C: blueprint analysis, initProcedure implementation, and shutdown handling in lighty.io.

Read more →

FAQ

Common questions, direct answers.

Is lighty.io a fork of OpenDaylight?

No. lighty.io repackages OpenDaylight components to run without Karaf. We are proud OpenDaylight supporters and among the project's largest contributors.

Why was Karaf removed?

Karaf starts OpenDaylight features inside an OSGi runtime. lighty.io does this faster with better memory efficiency, and frees you to use any Java SE framework alongside it.

What OpenDaylight components are included?

  • MD-SAL, Controller, YANG Tools
  • Northbound: RESTCONF (RFC 8040), NETCONF
  • Southbound: SNMP, NETCONF, OpenFlow
  • Apps: TransportPCE, ONAP SDN-C

Are there extra components beyond ODL core?

Yes. Since 7.x: YANG Codecs for JSON/XML serialization, NETCONF Device Library for custom devices, and client libs for Java, Python & Go.

Can I run OpenDaylight and lighty.io together?

Yes. lighty.io provides OpenDaylight services at runtime and your application code does not depend on Karaf—so both can coexist during migration.

How do I migrate from OpenDaylight?

Prepared migration guides are available for OpenDaylight TransportPCE and ONAP SDN-C. Custom migration scenarios available through our commercial offering.

Is lighty.io modular?

Yes. One core module, plus optional Southbound & Northbound plugins. Your application starts, stops, and restarts modules as required at runtime.

How do I unit-test my SDN application?

Much easier than with standard ODL—all OpenDaylight services are available in the JUnit runtime, so you write regular unit tests against the real services.


Ready to build your SDN controller?

Explore release notes, clone the samples, or reach out for a commercial solution with professional support from PANTHEON.tech.