ONOS- 2946 Adding ability to view existing packet intercept requests and packet processors.

Change-Id: Id0d82fb4a19506ec607a71856dbf0c33c8e51baf
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