commit | 58d5ec0e81278dd4ddb694cfbc109a18028801d7 | [log] [tgz] |
---|---|---|
author | Jordi Ortiz <jordi.ortiz@um.es> | Thu Jun 15 12:40:11 2017 +0200 |
committer | Andrea Campanella <andrea@onlab.us> | Thu Jun 22 09:13:26 2017 +0000 |
tree | 211f41b9fe50fcbb859785e72af9db123dd4c147 | |
parent | c99b15ae4f648f69c3979661f5f931d37aac4c8c [diff] |
FIX: Onos is reinstalling the meter to the switch when in PENDING_REMOVE state Change-Id: I35454d519cc66abfe8ca2ae6b07a91899ff34a64
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java index 64230db..34429a8 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java +++ b/incubator/net/src/main/java/org/onosproject/incubator/net/meter/impl/MeterManager.java
@@ -260,7 +260,9 @@ storedMeterMap.keySet().stream() .filter(m -> m.getLeft().equals(deviceId)).forEach(m -> { - if (!meterEntriesMap.containsKey(m.getRight())) { + if ((storedMeterMap.get(m).state().equals(MeterState.PENDING_ADD) || + storedMeterMap.get(m).state().equals(MeterState.ADDED)) && + !meterEntriesMap.containsKey(m.getRight())) { // The meter is missing in the device. Reinstall! Meter meter = storedMeterMap.get(Pair.of(deviceId, m.getRight())); provider().performMeterOperation(deviceId,