Ask is moving to Stack Overflow and! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode


How Topology Data flow from NB to SB through mdsal?

asked 2014-12-14 20:58:26 -0800

techdeveloper gravatar image

I need to understand how data flows from NB to SB when a Resconf is called to get topology related information. I believe it is similar for all other managers like FRM, Switch Manager etc,. I was trying to understand this through code walk-through but this introduction of Yang model is making me crazy. Can anyone please demystify this puzzle? Thanks a lot in advance.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2015-02-13 00:56:14 -0800

Tony Tkacik gravatar image

YANG Models defines data structures, data hierarchy, rpcs and notifications, but it does not define how this data are populated (this is up to the plugins).

These YANG models are then used by MD-SAL and other components to infer REST API for reading data, serialization of JSON, XML, storage - common shared functionality for any data you want in system.

Topology YANG model defines basic concepts and their hierarchy such:

  • topology (0...n)
    • node (0...n)
      • termination-point (0...n)
    • link (0...n)

In Helium we have several different topologies which are accessed in same way (thanks to data model separation from how data are produced) but are populated differently:

  • Openflow Topology - this topology is populated by small plugin, build on top of openflowplugin, which does LLDP on openflow ports and writes discovered data to MD-SAL Data store.
  • PCEP Topology - PCEP plugin directly writes its topology to MD-SAL data store.
  • BGP Topology - BGP topology exporter is small plugin, which listens on BGP-RIB updates in MD-SAL data store and transforms RIB data to topology data and writes to MD-SAL data store.

This design pattern with data model in between actually allowed us to have freedom in how topology is populated in particular case (e.g. direct export, transformations) but you still have common way how to consume it and access it (that is true for any YANG modeled data in ODL).

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2014-12-14 20:58:26 -0800

Seen: 870 times

Last updated: Feb 13 '15