commit | 49bdb613c511500c1d2808813a188bcfe26cc801 | [log] [tgz] |
---|---|---|
author | Michal Mach <m.mach2@samsung.com> | Tue Jun 06 16:41:16 2017 +0200 |
committer | Andrea Campanella <andrea@onlab.us> | Thu Jun 08 09:06:09 2017 +0000 |
tree | 73612fc4360e65d6e008826984116ab88ee48e8e | |
parent | 256f2c1338536a9b42889c35b00359a0b0776d25 [diff] |
[ONOS-6609] OVSDB device is not removed properly Change-Id: I475c1f124d513bf4b422bfac5db62913f9685256
diff --git a/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java b/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java index 50b8c83..4c29a58 100644 --- a/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java +++ b/providers/ovsdb/device/src/main/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProvider.java
@@ -196,6 +196,13 @@ } if ((event.type() == DeviceEvent.Type.DEVICE_ADDED)) { executor.execute(() -> discoverPorts(deviceId)); + } else if ((event.type() == DeviceEvent.Type.DEVICE_REMOVED)) { + log.debug("removing device {}", event.subject().id()); + OvsdbNodeId ovsdbNodeId = changeDeviceIdToNodeId(deviceId); + OvsdbClientService client = controller.getOvsdbClient(ovsdbNodeId); + if (client != null) { + client.disconnect(); + } } }