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


Yang model and plugins relationship

asked 2014-09-04 14:44:58 -0800

anonymous user


Hi, I am new to OpenDaylight, yang tools, and java programming. Thanks in advance.

I was going through the Ping tutorial ( ) and the plugin design process ( 'underscore' design 'underscore' process.png. The underscores stand for actual underscores), and trying to understand at a high level.

The ping tutorial has a code (which I think this is the plugin source code) that implements a function sendEcho that is defined in the Yang model. So when you change the Yang model to add a new RPC, then the plugin source code will need to be changed to define that new RPC. Is this right? Is one of the purposes of the MAVEN build tools to check that each RPC defined in the YANG models is implemented in the PLUGIN source code before creating the "Plugin" OSGI bundle"?

ODL provides Southbound plugins (Openflow, SNMP). So if I write a Yang Model for a layer 2 switch and plan on using the OpenFlow plugin, will my Yang Model be limited to what this plugin can do? Can I modify that existing plugins to add new functions if needed?

Finally, it seems like the Ping plugin implements the functions of the YANG model (send-echo). What is the controller's role? Is it just taking the JSON input (curl commands) and making sure the syntax is correct by comparing to the Yang model and then passing the input to the PLUGIN bundle (maybe translating the JSON command to JAVA before calling the program)?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2015-02-18 04:06:49 -0800

Robert Varga gravatar image

Your observation is to what is implemented where is correct.

In general we use YANG each layer of the system, and each implementation performs model-to-model translation. In your specific L2 switch example, once you define the switch model, that will probably end up being an abstract API specification. After that you can choose to implement that API on top OpenFlow modes, or SNMP models, or any other technology.

I am not familiar with the examples, unfortunately :-/

edit flag offensive delete publish link more

answered 2015-02-18 21:14:33 -0800

Ashwini_Mhatre gravatar image

Hi, You can follow this one is also good to start with yang and md-sal Regards,

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

Question Tools

1 follower


Asked: 2014-09-04 14:44:58 -0800

Seen: 258 times

Last updated: Feb 18 '15