diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java
index d2c2e2e..750824f 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java
@@ -142,6 +142,14 @@
     }
 
     @Override
+    public int getLoadBalancePathSize() {
+        if (sfcLoadBalanceIdMap.isEmpty()) {
+            return 0;
+        }
+        return sfcLoadBalanceIdMap.size();
+    }
+
+    @Override
     public Optional<LoadBalanceId> matchPath(List<PortPairId> path) {
 
         LoadBalanceId id = null;
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java
index ba87010..e89a22e 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java
@@ -113,6 +113,13 @@
     List<PortPairId> getLoadBalancePath(FiveTuple fiveTuple);
 
     /**
+     * Get the no of load balance paths created.
+     *
+     * @return size of load balanced paths
+     */
+    int getLoadBalancePathSize();
+
+    /**
      * Match the given path with existing load balanced paths.
      *
      * @param path load balanced path
