diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
index dc7b01e2b..f5b31f8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
@@ -36,6 +36,6 @@
      * @param deviceId device identifier
      * @return collection of flow entries
      */
-    void pushFlowMetrics(Iterable<FlowEntry> flowEntries);
+    void pushFlowMetrics(Iterable<FlowRule> flowEntries);
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java b/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java
index 9cae5f9..9a5fffa 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java
@@ -75,7 +75,7 @@
      * @param vlanPcp vlan pcp value
      * @return match criterion
      */
-    public static Criterion matchVlanId(Byte vlanPcp) {
+    public static Criterion matchVlanPcp(Byte vlanPcp) {
         return new VlanPcpCriterion(vlanPcp);
     }
 
diff --git a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
index c03f119..4899a0e 100644
--- a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -2,6 +2,7 @@
 
 import static org.slf4j.LoggerFactory.getLogger;
 
+import java.util.List;
 import java.util.Map;
 
 import org.apache.felix.scr.annotations.Activate;
@@ -34,9 +35,6 @@
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
-rt org.slf4j.Logger;
-
-import com.google.common.collect.Maps;
 
 /**
  * Provider which uses an OpenFlow controller to detect network
@@ -152,10 +150,11 @@
                 return;
             }
             final OFFlowStatsReply replies = (OFFlowStatsReply) stats;
-            final List<FlowEntry> entries = Lists.newLinkedList();
+            final List<FlowRule> entries = Lists.newLinkedList();
             for (OFFlowStatsEntry reply : replies.getEntries()) {
-
+                entries.add(new FlowRuleBuilder(reply).build());
             }
+            providerService.pushFlowMetrics(entries);
 
 
         }
