From 58d5ec0e81278dd4ddb694cfbc109a18028801d7 Mon Sep 17 00:00:00 2001 From: Jordi Ortiz Date: Thu, 15 Jun 2017 12:40:11 +0200 Subject: [PATCH] FIX: Onos is reinstalling the meter to the switch when in PENDING_REMOVE state Change-Id: I35454d519cc66abfe8ca2ae6b07a91899ff34a64 --- .../onosproject/incubator/net/meter/impl/MeterManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 64230dbec4..34429a83a9 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 @@ public class MeterManager 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,