diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/DefaultFlowInfo.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/DefaultFlowInfo.java
index 6033483..2f67050 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/DefaultFlowInfo.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/DefaultFlowInfo.java
@@ -32,6 +32,8 @@
  * Implementation class of FlowInfo.
  */
 public final class DefaultFlowInfo implements FlowInfo {
+    private static final String INGRESS_STATS = "Ingress Port :";
+    private static final String EGRESS_STATS = "Egress Port :";
 
     private final byte flowType;
     private final DeviceId deviceId;
@@ -185,6 +187,20 @@
     }
 
     @Override
+    public String uniqueFlowInfoKey() {
+        if (srcIp.address().isZero() || dstIp.address().isZero()) {
+            if (!srcIp.address().isZero()) {
+                return INGRESS_STATS + srcIp.toString();
+            }
+            if (!dstIp.address().isZero()) {
+                return EGRESS_STATS + dstIp.toString();
+            }
+        }
+        return srcIp.toString() + ":" + srcPort.toString() + " -> " +
+                dstIp.toString() + ":" + dstPort.toString();
+    }
+
+    @Override
     public String toString() {
         return toStringHelper(this)
                 .add("flowType", flowType)
