0

I'm interested in openDayLight controller, and I am reading a lot of articles about it, but I have a question. In SAL we have plugin like OpenFlow, but I can define my own plugins like f.e. ping: https://wiki.opendaylight.org/view/Ping - to do so, I need to create like it states in the article: 4 bundles with OSGi framework and these 4 bundles are called modules, correct ? but plugin == service ? and f.e. ping plugin works in SAL next to f.e. openFlow ? I'm not sure if I understand correctly what is plugin,service,module,bundle.

Filip Kowalski
  • 144
  • 1
  • 3
  • 15

1 Answers1

1

When creating a plugin, you have to decide whether it is a Northbound or a Southbound plugin.

Southbound plugins deals directly with network devices. This is often done through some configuration protocol, like OpenFlow, SMTP and NETCONF.

Northbound plugins receive data from applications, processes them and may, ou may not, use an Southbound plugin to configure network devices. The Ping plugin, for example, is a Northbound plugin, like most of the ones you will probably implement.

However, your plugin may implement the device communication part, whitout the need of another specific southbound plugin. Service is the implementation part of yout plugin, which receives data from the northbound API, processes it and, if necessary, sends to the network devices through another southbound API or by some its own means.

The Nouthbound API is automatically created based on a YANG model, that's why ODL SAL is Model-Driven (MDSAL). After you create a model in a bundle, you implement the service in another bundle. All these bundles together are your plugin, or module.

Jefferson
  • 529
  • 4
  • 9