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();