Multiple meter support added and meter action added for OF1.5
MeterFeaturesFlag added for OF1.5

Change-Id: I84d2785f37ea51b08244de9c54effe5224af9531
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer15.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer15.java
index 7ba893a..7f5a099 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer15.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer15.java
@@ -172,9 +172,11 @@
         List<OFAction> actions = new LinkedList<>();
 
         //Meter action handling
-        if (null != treatment.metered() && immediateActions) {
-            OFAction meterAction = buildMultipleMeterAction(treatment.metered());
-            actions.add(meterAction);
+        if (null != treatment.meters() && immediateActions) {
+            treatment.meters().forEach(meterInstruction -> {
+                OFAction meterAction = buildMeterAction(meterInstruction);
+                actions.add(meterAction);
+            });
         }
 
         for (Instruction i : treatments) {
@@ -287,7 +289,7 @@
      * @param meterInstruction meter instruction
      * @return meter action
      */
-    protected OFAction buildMultipleMeterAction(Instructions.MeterInstruction meterInstruction) {
+    protected OFAction buildMeterAction(Instructions.MeterInstruction meterInstruction) {
         OFActionMeter.Builder meterBuilder = factory().actions().buildMeter()
                 .setMeterId(meterInstruction.meterId().id());
         return meterBuilder.build();