commit | 47b80faa328db79a3203fe228e12869b52dcb24a | [log] [tgz] |
---|---|---|
author | Kavitha Alagesan <kalagesa@partner.ciena.com> | Thu Nov 10 16:11:32 2016 +0530 |
committer | Jian Li <pyguni@gmail.com> | Mon Nov 14 09:16:40 2016 +0000 |
tree | a2ee4f2cac93319ccfe7036cd251f5090a566e04 | |
parent | 0bb987e1778a1d8bab8d693484892187862d737e [diff] |
FIX_FOR_ONOS-5610 Change-Id: Ibb277628ad60c90fe2ebaf4a2d6ef123fbb8a764 (cherry picked from commit 00ded542dbf467097f38dd5006c8904a18e06434)
diff --git a/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java b/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java index a2e21dc..c63d042 100644 --- a/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java +++ b/providers/openflow/message/src/main/java/org/onosproject/provider/of/message/impl/OpenFlowControlMessageProvider.java
@@ -107,6 +107,7 @@ @Deactivate protected void deactivate() { + disconnectDevices(); controller.removeListener(listener); providerRegistry.unregister(this); providerService = null; @@ -128,6 +129,17 @@ } } + private void disconnectDevices() { + for (OpenFlowSwitch sw: controller.getSwitches()) { + try { + listener.switchRemoved(new Dpid(sw.getId())); + } catch (Exception e) { + log.warn("Failed to remove {} : {}", sw.getStringId(), e.getMessage()); + log.debug("Error details:", e); + } + } + } + /** * A listener for OpenFlow switch event. */