diff --git a/core/api/src/main/java/org/onosproject/net/packet/PacketService.java b/core/api/src/main/java/org/onosproject/net/packet/PacketService.java
index 06c416e..98f4d8e 100644
--- a/core/api/src/main/java/org/onosproject/net/packet/PacketService.java
+++ b/core/api/src/main/java/org/onosproject/net/packet/PacketService.java
@@ -15,9 +15,13 @@
  */
 package org.onosproject.net.packet;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.flow.TrafficSelector;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * Service for intercepting data plane packets and for emitting synthetic
  * outbound packets.
@@ -48,6 +52,15 @@
     void removeProcessor(PacketProcessor processor);
 
     /**
+     * Returns priority bindings of all registered packet processors.
+     *
+     * @return list of existing packet processors
+     */
+    @Beta
+    // TODO: Consider returning list of PacketProcessorEntry with processor, priority and stats
+    Map<Integer, PacketProcessor> getProcessors();
+
+    /**
      * Requests that packets matching the given selector are punted from the
      * dataplane to the controller.
      *
@@ -70,6 +83,13 @@
                        ApplicationId appId);
 
     /**
+     * Returns list of all existing requests ordered by priority.
+     *
+     * @return list of existing packet requests
+     */
+    List<PacketRequest> getRequests();
+
+    /**
      * Emits the specified outbound packet onto the network.
      *
      * @param packet outbound packet
