ONOS-22 - Add Constraints to CLI Commands
Added optional --lambda and --bandwidth operations to command
line for host to host, point to point, and multi point to
single point intents
Fixed intent compilers to add constraints to the PathIntents they
create
Change-Id: I25510d401118feba493f51ecddc72d770d8ae3e3
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/PathIntent.java b/core/api/src/main/java/org/onlab/onos/net/intent/PathIntent.java
index 9189bae..9f8816d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/PathIntent.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/PathIntent.java
@@ -15,6 +15,8 @@
*/
package org.onlab.onos.net.intent;
+import java.util.List;
+
import com.google.common.base.MoreObjects;
import org.onlab.onos.core.ApplicationId;
import org.onlab.onos.net.Path;
@@ -46,6 +48,24 @@
}
/**
+ * Creates a new point-to-point intent with the supplied ingress/egress
+ * ports and using the specified explicit path.
+ *
+ * @param appId application identifier
+ * @param selector traffic selector
+ * @param treatment treatment
+ * @param path traversed links
+ * @param constraints optional list of constraints
+ * @throws NullPointerException {@code path} is null
+ */
+ public PathIntent(ApplicationId appId, TrafficSelector selector,
+ TrafficTreatment treatment, Path path, List<Constraint> constraints) {
+ super(id(PathIntent.class, selector, treatment, path, constraints), appId,
+ resources(path.links()), selector, treatment, constraints);
+ this.path = path;
+ }
+
+ /**
* Constructor for serializer.
*/
protected PathIntent() {
@@ -75,6 +95,7 @@
.add("appId", appId())
.add("selector", selector())
.add("treatment", treatment())
+ .add("constraints", constraints())
.add("path", path)
.toString();
}