Ask Your Question
0

Yang model and plugins relationship

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

anonymous user

Anonymous

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

I was going through the Ping tutorial ( https://wiki.opendaylight.org/view/Ping ) and the plugin design process ( https://wiki.opendaylight.org/images/3/39/Plugin 'underscore' design 'underscore' process.png. The underscores stand for actual underscores), and trying to understand at a high level.

The ping tutorial has a PingImpl.java 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 PingImpl.java program)?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
0

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

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
0

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

Ashwini_Mhatre gravatar image

Hi, You can follow https://wiki.opendaylight.org/view/OpenDaylightController:MD-SAL:ToasterStep-By-Step 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

Follow
1 follower

Stats

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

Seen: 219 times

Last updated: Feb 18 '15