Ask Your Question

Register for topology change events

asked 2016-11-08 08:40:39 -0700

ahuja gravatar image


My objective is to make a list of the nodes and all the links among them to have a view of the topology. Then I have to use this topology to route the packets. (I cant remove loops in the network as I have to use all the available bandwidth).

What are the steps to be taken from scratch to get to know the topology?

My understanding after going through some of the github projects is : 1) One should have a Yang model for topology 2) There should be a listener registered for topology change 3) Now, on topology change events one can write its logic.

Is my understanding correct ?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2016-11-08 09:36:41 -0700


If I'm understanding correctly, you're trying to gather the steps required to be able to interact with a given topology. You're steps are pretty much correct. Here are the one I have in mind anyway:

  1. Create the YANG model When the model will be loaded, if the model has a root container, this will be the root of your topology.
  2. Create the implementation for this YANG model 2.a. Register a listener on the config store for the topology created by your YANG model
  3. Use RESTCONF or ODL's internal to write to the config store
  4. Intercept the change in the listener, and appropriately update whatever the YANG is modeling (e.g. using SB protocol) and then write the result in the Operational store

hence config store has the desired state and operational has the current state.

This is not a prolific answer, but at least provide guidelines (very similar as what you already said).

Hope this helps, Alexis

edit flag offensive delete publish link more


@adetalhouet This helps. I got a high level idea. Is there any existing Topology yang model provided by OpenFlowplugin? Can you refer to some link on how and where to create this yang model and then how to register a listener? Thnx!

ahuja ( 2016-11-08 09:44:21 -0700 )edit

There is currently some changes in OpenFlowPlugin, to change former topology_id from flow:1 to openflow.
as ref, I would recommend using the archetype to create your app.

adetalhouet ( 2016-11-08 15:18:40 -0700 )edit

From the archetype, you'll get a project structure. Create your yang model. Then in the impl/ you have to create a class implementing DataTreeChangeListener. Once done, in the provider class, using the DataBroker, register the listener. Then you can use RESTCONF to play with your YANG model.

adetalhouet ( 2016-11-08 15:22:34 -0700 )edit

@adetalhouet Working on this. I will get back on this. Thanks!

ahuja ( 2016-11-10 12:16:50 -0700 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2016-11-08 08:40:39 -0700

Seen: 97 times

Last updated: Nov 08 '16