Define an Instruction for OchSignal and its static factory method
Resolve ONOS-1873
Change-Id: Ia1d0a97fd820ce7a9b7e2b48ce8d07174bcc1af9
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
index 03588b8..f9894da 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
@@ -21,6 +21,7 @@
import org.onlab.packet.MplsLabel;
import org.onlab.packet.VlanId;
import org.onosproject.core.GroupId;
+import org.onosproject.net.OchSignal;
import org.onosproject.net.PortNumber;
import org.onosproject.net.flow.instructions.L0ModificationInstruction.L0SubType;
import org.onosproject.net.flow.instructions.L0ModificationInstruction.ModLambdaInstruction;
@@ -87,6 +88,17 @@
}
/**
+ * Creates an L0 modification with the specified OCh signal.
+ *
+ * @param lambda OCh signal
+ * @return an L0 modification
+ */
+ public static L0ModificationInstruction modL0OchSignal(OchSignal lambda) {
+ checkNotNull(lambda, "L0 OCh signal cannot be null");
+ return new L0ModificationInstruction.ModOchSignalInstruction(lambda);
+ }
+
+ /**
* Creates a l2 src modification.
*
* @param addr the mac address to modify to