Implement OFActionSetQueue (OpenFlow 1.3 only)

Action "Set-Queue" (OFPAT_SET_QUEUE) is not yet implemented.

This patch adds such a QUEUE Treatment and implements it using the Set-Queue
action of OpenFlow 1.3.

The --setQueue parameter can be used when defining intents so that flows with
the respective Set-Queue action are installed.

This includes contributions by Michael Jarschel and Arne Schwabe and is the
result of our ONOS Hackaton project at EWSDN 2015.

Change-Id: Ie7bf01e8fd90fe68977477327ac4f53d7930e186
diff --git a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
index 6c33f45..62cf042 100644
--- a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
@@ -166,6 +166,10 @@
             required = false, multiValued = false)
     private String pushVlan = null;
 
+    @Option(name = "--setQueue", description = "Set Queue ID",
+            required = false, multiValued = false)
+    private String setQueue = null;
+
     // Priorities
     @Option(name = "-p", aliases = "--priority", description = "Priority",
             required = false, multiValued = false)
@@ -327,6 +331,10 @@
             treatmentBuilder.setVlanId(VlanId.vlanId(Short.parseShort(pushVlan)));
             emptyTreatment = false;
         }
+        if (!isNullOrEmpty(setQueue)) {
+            treatmentBuilder.setQueue(Long.parseLong(setQueue));
+            emptyTreatment = false;
+        }
 
         if (emptyTreatment) {
             return DefaultTrafficTreatment.emptyTreatment();