Jump to: navigation, search

OpenDaylight Controller:MD-SAL:Plugin Types

  • Southbound Protocol Plugin: Handles multiple sessions to the southbound network devices and provides a common abstracted interface to access the various types of functionality provided by these network devices.
  • Manager-type Application: Manages the state and the configuration of a particular functionality which is exposed by the southbound protocol plugins
  • Protocol Library: Handles serialization or de-serialization between the wire protocol format and the Java form of the protocol
  • Connector Plugin: Connects consumers (and providers) to Model-driven SAL (and other components) by means of different wire protocol or sets of APIs

Each of these component types exposes different models, uses a different subset of the MD-SAL functionality, and differs in complexity.

Southbound Protocol Plugin

The Southbound Protocol Plugin is responsible for handling multiple sessions to southbound network devices and providing common abstracted interface to access various types of functionality provided by these network devices.

Southbound Protocol Plugin must be:

  • Stateless: The only preserved state (which is still transient) is a list of connected devices or sessions.
  • Models mostly use RPCs and Notifications to describe plugin functionality.

Example plugins:

  • Openflow Southbound Plugin
  • Netconf Southbound Plugin
  • BGP Southbound Plugin
  • PCEP Southbound Plugin

Manager-type Application

Manager-type Applications are responsible for providing configuration-like functionality to set or modify the behaviour of network elements or southbound plugins, coordinate flows, and provide a higher logic on top of the stateless southbound plugins.

Manager-type Applications:

  • Preserve state.
  • Models mostly use Configuration Data and Runtime Data to describe component functionality.

Protocol Library

Connector Plugin