diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/meter/BandEntry.java b/incubator/api/src/main/java/org/onosproject/incubator/net/meter/BandEntry.java
new file mode 100644
index 0000000..369e1cc
--- /dev/null
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/meter/BandEntry.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.incubator.net.meter;
+
+/**
+ * Represents a stored band.
+ */
+public interface BandEntry extends Band {
+
+    /**
+     * Sets the number of packets seen by this band.
+     *
+     * @param packets a packet count
+     */
+    void setPackets(long packets);
+
+    /**
+     * Sets the number of bytes seen by this band.
+     *
+     * @param bytes a byte counter
+     */
+    void setBytes(long bytes);
+
+}
