OpenDaylight (ODL) is a modular SDN controller platform. You install only the features you need.
Core components:
Model-Driven SAL. Translates between applications and southbound protocols using YANG data models.
Data store. Holds network state and configuration with transactional updates.
Northbound APIs. RESTCONF and NETCONF for applications.
Southbound plugins. OpenFlow, NETCONF, BGP, OVSDB, and more.
Typical deployment: Install base platform, add features via Karaf, configure clustering, connect switches.
ODL handles complex multi-protocol environments.