Implemented a rolling link latency history for switch links. Each link will...
Implemented a rolling link latency history for switch links. Each link will contain a single latency value. When a link update occurs, the latency computed from the LLDP packet is added to the exisiting link's LinkInfo. LinkInfo maintains a latency history for link L. The 1-to-1 mapping between Link and LinkInfo still exists. LinkInfo will provide a new latency based on the rolling window size and update threshold -- configurable through floodlightdefault.properties but default to 5 latency data points and 30%, respectively. As an example, the 0th latency value is used as the intial latency for a particular (new) link. Each LLDP update for this link will contain a latency. This latency is added to the LinkInfo from updates 0 - 3. Update 4 will make 5 historical latency data points. This will cause an average to be computed of these 5 data points. If the average is +/-30% of the latency recorded in the 0th latency, the link latency will be updated. For exach, successive latency recorded, the same average will be computed. If the new average is not +/-30% of the old recorded value, an update will not occcur. Every latency 'replacement/update' will cause a new topology to be computed in the topology manager. Keeping a rolling average takes into account current network conditions, but also helps to average out outliers and keeps topology updates to a minimum.
Showing
- src/main/java/net/floodlightcontroller/flowcache/PortDownReconciliation.java 1 addition, 1 deletion...loodlightcontroller/flowcache/PortDownReconciliation.java
- src/main/java/net/floodlightcontroller/linkdiscovery/ILinkDiscoveryService.java 1 addition, 0 deletions...dlightcontroller/linkdiscovery/ILinkDiscoveryService.java
- src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java 0 additions, 156 deletions...java/net/floodlightcontroller/linkdiscovery/LinkInfo.java
- src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java 91 additions, 60 deletions...ntroller/linkdiscovery/internal/LinkDiscoveryManager.java
- src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkInfo.java 244 additions, 0 deletions...floodlightcontroller/linkdiscovery/internal/LinkInfo.java
- src/main/java/net/floodlightcontroller/linkdiscovery/web/DirectedLinksResource.java 1 addition, 1 deletion...htcontroller/linkdiscovery/web/DirectedLinksResource.java
- src/main/java/net/floodlightcontroller/linkdiscovery/web/ExternalLinksResource.java 1 addition, 1 deletion...htcontroller/linkdiscovery/web/ExternalLinksResource.java
- src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java 1 addition, 1 deletion...floodlightcontroller/linkdiscovery/web/LinksResource.java
- src/main/java/net/floodlightcontroller/topology/TopologyInstance.java 0 additions, 2 deletions...a/net/floodlightcontroller/topology/TopologyInstance.java
- src/test/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManagerTest.java 32 additions, 4 deletions...ller/linkdiscovery/internal/LinkDiscoveryManagerTest.java
Loading
Please register or sign in to comment