diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiMeterCellConfig.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiMeterCellConfig.java
index f13e276..e62482b 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiMeterCellConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiMeterCellConfig.java
@@ -24,6 +24,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import static com.google.common.base.Preconditions.checkNotNull;
@@ -66,6 +67,35 @@
         return piMeterBands;
     }
 
+    /**
+     * Check if the config represents a modify operation.
+     *
+     * @return true if there are exactly 2 bands
+     */
+    public boolean isModify() {
+        return piMeterBands.size() == 2;
+    }
+
+    /**
+     * Check if the config represents a reset operation.
+     *
+     * @return true if there is no band.
+     */
+    public boolean isReset() {
+        return piMeterBands.isEmpty();
+    }
+
+    /**
+     * Returns a PiMeterCellConfig with no bands.
+     * Used to reset a PI meter cell.
+     *
+     * @param piMeterCellId the PiMeterCellId need to be reset
+     * @return a PiMeterCellConfig with no bands
+     */
+    public static PiMeterCellConfig reset(PiMeterCellId piMeterCellId) {
+        return new PiMeterCellConfig(piMeterCellId, Collections.emptyList());
+    }
+
     @Override
     public PiEntityType piEntityType() {
         return PiEntityType.METER_CELL_CONFIG;
