diff --git a/impl/src/main/java/org/opencord/olt/impl/OltUtils.java b/impl/src/main/java/org/opencord/olt/impl/OltUtils.java
index 45d684e..339bfb1 100644
--- a/impl/src/main/java/org/opencord/olt/impl/OltUtils.java
+++ b/impl/src/main/java/org/opencord/olt/impl/OltUtils.java
@@ -19,10 +19,17 @@
 import org.onlab.packet.VlanId;
 import org.onosproject.net.AnnotationKeys;
 import org.onosproject.net.Port;
+import org.opencord.olt.AccessDevicePort;
 import org.opencord.olt.FlowOperation;
+import org.opencord.olt.OltFlowServiceInterface;
+import org.opencord.olt.ServiceKey;
 import org.opencord.sadis.SubscriberAndDeviceInformation;
 import org.opencord.sadis.UniTagInformation;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * Utility class for OLT app.
  */
@@ -83,4 +90,21 @@
         }
         return service;
     }
+
+    public static SubscriberAndDeviceInformation getProgrammedSubscriber(
+            OltFlowServiceInterface service, AccessDevicePort accessDevicePort) {
+        List<Map.Entry<ServiceKey, UniTagInformation>> entries =
+                service.getProgrammedSubscribers().entrySet().stream()
+                        .filter(entry -> entry.getKey().getPort().equals(accessDevicePort))
+                        .collect(Collectors.toList());
+        if (!entries.isEmpty()) {
+            List<UniTagInformation> programmedList = entries.stream()
+                    .map(entry -> entry.getKey().getService())
+                    .collect(Collectors.toList());
+            SubscriberAndDeviceInformation si = new SubscriberAndDeviceInformation();
+            si.setUniTagList(programmedList);
+            return si;
+        }
+        return null;
+    }
 }
