[OPNFLWPLUG-1027] Topology manager writes link information everytime topology-lldp-discovery publish the linkAdded/linkRemove notificaiton Created: 12/Jul/18  Updated: 17/Jun/19  Resolved: 17/Jun/19

Status: Resolved
Project: OpenFlowPlugin
Component/s: topology-lldp-discovery, topology-manager
Affects Version/s: None
Fix Version/s: Neon, Sodium

Type: Bug Priority: High
Reporter: Anil Vishnoi Assignee: Gobinath Suganthan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In the current implementation of the TopologyManager, it's listening for linkAdded and linkRemoved notification and whenever it receive those notification, it updates the data store. linkAdded and linkRemoved notificaitons are published by topology-lldp-discovery module. Topology-lldp-discovery module will publish this whenever it will receive the lldp packet from the switch. This is not a right behavior, because it's publishing the same linkAdded event everytime it receives the lldp packet. This can cause performance issue when topology is large.

Topology-lldp-discovery module should only publish the linkAdded notification if the link is added first time or removed and added back.



 Comments   
Comment by Anil Vishnoi [ 10/Sep/18 ]

andrejleitner Are you still looking at this bug ? If not, can you please un-assign it so we can assign it to someone else?

Comment by Gobinath Suganthan [ 07/Jan/19 ]

Avishnoi, Arunprakash I had a look at this. Andrej Leitner's patch had some CSIT failures related to topology. In the patch, the "linkToDate" cache (already existing) is used to decide whether to send the notification. So, the "linkAdded" notification is sent only when the "linkToDate" cache doesnt have the discovered link. This cache is regularly updated in the following manner(LinkAger):

  1. a) Whenever the lldp pkt is received for a link (lldp interval confgured as 5s), the link is updated with the latest age
  2. b) All the entries are checked for every interval (topology-lldp-expiration-interval which is currently 60s). In the event of the age being expired (time link updated + expiration-interval > currentTime), only then the entry is removed.

 

So, even after the link is removed it would take 60s for the link to e removed from the cache. But if we dont wait for this removal and add the link back, the cache would contain the link after the expiry. So no lldp would be sent thinking that the link was never removed in the first place. So the flapped links wont be discovered.

 

Comment by Gobinath Suganthan [ 08/May/19 ]

There are still some failures in the job "openflowplugin-csit-1node-gate-flow-services-all-sodium" of openflowplugin CSIT for this review.

I added some logging to debug them but I'm finding difficult to isolate the issues as similar TCs are repeated across the suite and the job itself is time consuming. It would be easier to debug if only the failed TCs can be run.

ecelgp Could you please guide on how to run only a particular set of sets from the CSIT.

Comment by Luis Gomez [ 08/May/19 ]

Tell me what you want to run as test and I can prepare test patch and job in sandbox you can use to validate your patch.

Comment by Gobinath Suganthan [ 09/May/19 ]

ecelgpThanks a lot . But I have already figured out the reasons for the failures.

Generated at Wed Feb 07 20:34:00 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.