OpenFlow Meter Provider - still need to parse meter stats

Change-Id: I4b313ea003b3801f81ec7d4823bf69de37fd8643
diff --git a/core/api/src/main/java/org/onosproject/net/meter/Band.java b/core/api/src/main/java/org/onosproject/net/meter/Band.java
index e434073..db42ba7 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/Band.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/Band.java
@@ -32,7 +32,7 @@
 
         /**
          * defines a simple DiffServ policer that remark
-         * the drop precedence of the DSCP eld in the
+         * the drop precedence of the DSCP field in the
          * IP header of the packets that exceed the band
          * rate value.
          */
@@ -42,16 +42,32 @@
     /**
      * The rate at which this meter applies.
      *
-     * @return the integer value of the rate
+     * @return the long value of the rate
      */
-    int rate();
+    long rate();
 
     /**
      * The burst size at which the meter applies.
      *
-     * @return the integer value of the size
+     * @return the long value of the size
      */
-    int burst();
+    long burst();
+
+    /**
+     * Only meaningful in the case of a REMARK band type.
+     * indicates by which amount the drop precedence of
+     * the packet should be increase if the band is exceeded.
+     *
+     * @return a short value
+     */
+    short dropPrecedence();
+
+    /**
+     * Signals the type of band to create.
+     *
+     * @return a band type
+     */
+    Type type();
 
 
 }
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java b/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java
index 70f65ef..8683e2a 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java
@@ -38,5 +38,52 @@
     /**
      * The meter that was attempted to be modified is unknown.
      */
-    UNKNOWN
+    UNKNOWN,
+
+    /**
+     * The operation for this meter installation timed out.
+     */
+    TIMEOUT,
+
+    /**
+     * Invalid meter definition.
+     */
+    INVALID_METER,
+
+    /**
+     * The target device is unknown.
+     */
+    UNKNOWN_DEVICE,
+
+    /**
+     * Unknown command.
+     */
+    UNKNOWN_COMMAND,
+
+    /**
+     * Unknown flags.
+     */
+    UNKNOWN_FLAGS,
+
+    /**
+     * Bad rate value.
+     */
+    BAD_RATE,
+
+    /**
+     * Bad burst size value.
+     */
+    BAD_BURST,
+
+    /**
+     * Bad band.
+     */
+    BAD_BAND,
+
+    /**
+     * Bad value value.
+     */
+    BAD_BAND_VALUE
+
+
 }
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterId.java b/core/api/src/main/java/org/onosproject/net/meter/MeterId.java
index b62db10..6a85a99 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterId.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterId.java
@@ -41,7 +41,7 @@
      *
      * @return an integer
      */
-    int id() {
+    public int id() {
         return id;
     }
 
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java b/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java
index 831c88a..85c0c43 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java
@@ -29,10 +29,10 @@
     /**
      * Notifies the core that a meter operaton failed for a
      * specific reason.
-     * @param deviceId
-     * @param operation
+     * @param operation the failed operation
+     * @param reason the failure reason
      */
-    void meterOperationFailed(DeviceId deviceId, MeterOperation operation,
+    void meterOperationFailed(MeterOperation operation,
                               MeterFailReason reason);
 
     /**