Intent treatments need to be passed down to the flows
Change-Id: I4569536cb62188f711ce005af1c3501dc31f7e74
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
index d3fb7d9..5e64c64 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
@@ -44,6 +44,16 @@
return new Builder();
}
+ /**
+ * Returns a new traffic treatment builder primed to produce entities
+ * patterned after the supplied treatment.
+ *
+ * @return traffic treatment builder
+ */
+ public static TrafficTreatment.Builder builder(TrafficTreatment treatment) {
+ return new Builder(treatment);
+ }
+
//FIXME: Order of instructions may affect hashcode
@Override
public int hashCode() {
@@ -90,6 +100,13 @@
private Builder() {
}
+ // Creates a new builder based off an existing treatment
+ private Builder(TrafficTreatment treatment) {
+ for (Instruction instruction : treatment.instructions()) {
+ add(instruction);
+ }
+ }
+
@Override
public Builder add(Instruction instruction) {
if (drop) {