Added link types of TUNNEL and OPTICAL.
Fixed the optical config json file.
Fixed treatment of links added by ancillary providers.
Added a trap for topology provider errors.
Added CLI to recompute topology.
diff --git a/core/net/src/main/java/org/onlab/onos/net/topology/impl/DefaultTopologyProvider.java b/core/net/src/main/java/org/onlab/onos/net/topology/impl/DefaultTopologyProvider.java
index 9631c66..0efd08b 100644
--- a/core/net/src/main/java/org/onlab/onos/net/topology/impl/DefaultTopologyProvider.java
+++ b/core/net/src/main/java/org/onlab/onos/net/topology/impl/DefaultTopologyProvider.java
@@ -5,6 +5,7 @@
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.Service;
import org.onlab.onos.event.AbstractEventAccumulator;
import org.onlab.onos.event.Event;
import org.onlab.onos.event.EventAccumulator;
@@ -39,6 +40,7 @@
* new topology snapshots.
*/
@Component(immediate = true)
+@Service
public class DefaultTopologyProvider extends AbstractProvider
implements TopologyProvider {
@@ -89,7 +91,7 @@
linkService.addListener(linkListener);
isStarted = true;
- triggerTopologyBuild(Collections.<Event>emptyList());
+ triggerRecompute();
log.info("Started");
}
@@ -108,6 +110,11 @@
log.info("Stopped");
}
+ @Override
+ public void triggerRecompute() {
+ triggerTopologyBuild(Collections.<Event>emptyList());
+ }
+
/**
* Triggers assembly of topology data citing the specified events as the
* reason.
@@ -177,7 +184,11 @@
@Override
public void run() {
- buildTopology(reasons);
+ try {
+ buildTopology(reasons);
+ } catch (Exception e) {
+ log.warn("Unable to compute topology due to: {}", e.getMessage());
+ }
}
}