ONOS-7077 Openflow 1.5 OXS and stat trigger support
Change-Id: I006bcd3d8eac451a780c7e5c69a12298ead14281
diff --git a/core/api/src/main/java/org/onosproject/net/flow/TrafficTreatment.java b/core/api/src/main/java/org/onosproject/net/flow/TrafficTreatment.java
index 9ddabe1..057f0f8 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/TrafficTreatment.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/TrafficTreatment.java
@@ -16,6 +16,7 @@
package org.onosproject.net.flow;
import java.util.List;
+import java.util.Map;
import com.google.common.annotations.Beta;
import org.onlab.packet.EthType;
@@ -81,6 +82,12 @@
Instructions.MetadataInstruction writeMetadata();
/**
+ * Returns the stat trigger instruction if there is one.
+ * @return a stat trigger instruction; may be null.
+ */
+ Instructions.StatTriggerInstruction statTrigger();
+
+ /**
* Returns the meter instruction if there is one.
*
* @return a meter instruction that may be null
@@ -422,6 +429,16 @@
Builder extension(ExtensionTreatment extension, DeviceId deviceId);
/**
+ * Add stat trigger instruction.
+ *
+ * @param statTriggerFieldMap defines stat trigger constraints
+ * @param statTriggerFlag describes which circumstances that start will be triggered
+ * @return a treatment builder
+ */
+ Builder statTrigger(Map<StatTriggerField, Long> statTriggerFieldMap,
+ StatTriggerFlag statTriggerFlag);
+
+ /**
* Add all instructions from another treatment.
*
* @param treatment another treatment