commit | ac2972a4a4cbdaf1263389bb2f8048e0414cb62d | [log] [tgz] |
---|---|---|
author | Yuta HIGUCHI <y-higuchi@onlab.us> | Tue Nov 18 12:58:52 2014 -0800 |
committer | Gerrit Code Review <gerrit@onlab.us> | Tue Nov 18 15:17:32 2014 -0800 |
tree | be10bd51e747605f8a670ab6b06d38d2197ac4ff | |
parent | a19a2e5494a1dfe231bcf4459e2324f4adca3bbf [diff] |
OpenFlowDeviceProvider: tolerate initial switch-add failures - Initial switch add error should not prevent OFDProvider from activating Change-Id: Id965aeaf8262a8b6a06c7d3f4af15593660f2f06
diff --git a/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java index c0cc416..3b74807 100644 --- a/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java +++ b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
@@ -92,7 +92,14 @@ providerService = providerRegistry.register(this); controller.addListener(listener); for (OpenFlowSwitch sw : controller.getSwitches()) { - listener.switchAdded(new Dpid(sw.getId())); + try { + listener.switchAdded(new Dpid(sw.getId())); + } catch (Exception e) { + LOG.warn("Failed initially adding {} : {}", sw.getStringId(), e.getMessage()); + LOG.debug("Error details:", e); + // disconnect to trigger switch-add later + sw.disconnectSwitch(); + } } LOG.info("Started"); }