Introduction

The OpenDaylight project is an open source platform for Software Defined Networking (SDN) that uses open protocols to provide centralized, programmatic control and network device monitoring.

Much as your operating system provides an interface for the devices that comprise your computer, OpenDaylight provides an interface that allows you to control and manage network devices.

What’s different about OpenDaylight

Major distinctions of OpenDaylight’s SDN compared to other SDN options are the following:

  • A microservices architecture, in which a “microservice” is a particular protocol or service that a user wants to enable within their installation of the OpenDaylight controller, for example:

    • A plugin that provides connectivity to devices via the OpenFlow protocols (openflowplugin).

    • A platform service such as Authentication, Authorization, and Accounting (AAA).

    • A network service providing VM connectivity for OpenStack (netvirt).

  • Support for a wide and growing range of network protocols: OpenFlow, P4 BGP, PCEP, LISP, NETCONF, OVSDB, SNMP and more.

  • Model Driven Service Abstraction Layer (MD-SAL). Yang models play a key role in OpenDaylight and are used for:

    • Creating datastore schemata (tree based structure).

    • Generating application REST API (RESTCONF).

    • Automatic code generation (Java interfaces and Data Transfer Objects).