commit | 4fce4ed3d1f8511ed8de907d7845c6ee61f7c93f | [log] [tgz] |
---|---|---|
author | Jonathan Hart <jono@onlab.us> | Fri Nov 01 21:29:21 2013 -0700 |
committer | Jonathan Hart <jono@onlab.us> | Fri Nov 01 21:29:21 2013 -0700 |
tree | f8bbd89c9ebba8c644c8c94863128db5d5d867ed | |
parent | c2d6bbadbaf7889bfdbaae0255b2496260a3666c [diff] |
Fixed the handling of removeDevice events to ensure devices are removed from the database
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java index 256008a..ed6d85f 100644 --- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java +++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
@@ -114,6 +114,10 @@ IDeviceObject dev; try { if ((dev = ope.searchDevice(device.getMACAddressString())) != null) { + for (IIpv4Address ipv4AddressVertex : dev.getIpv4Addresses()) { + ope.removeIpv4Address(ipv4AddressVertex); + } + ope.removeDevice(dev); ope.commit(); log.error("DeviceStorage:removeDevice mac:{} done", device.getMACAddressString());
diff --git a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java index 14cffd8..c1f66d9 100644 --- a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java +++ b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
@@ -273,6 +273,7 @@ @Override public void deviceRemoved(IDevice device) { // TODO Auto-generated method stub + devStore.removeDevice(device); } @Override