(ONOS-684) Added a few new OF actions, which are required for Segment Routing Application
- MPLS POP (Ethernet type)
- Dec MPLS TTL
- Dec NW TTL
- Copy TTL In
- Copy TTL Out
Change-Id: I639a1bfff9ba3ae8c372c0a4b36f132cb2610b7b
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 e7eb85d..da682ee 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
@@ -119,6 +119,27 @@
public Builder setIpDst(IpAddress addr);
/**
+ * Decrease the TTL in IP header by one.
+ *
+ * @return a treatment builder
+ */
+ public Builder decNwTtl();
+
+ /**
+ * Copy the TTL to outer protocol layer.
+ *
+ * @return a treatment builder
+ */
+ public Builder copyTtlOut();
+
+ /**
+ * Copy the TTL to inner protocol layer.
+ *
+ * @return a treatment builder
+ */
+ public Builder copyTtlIn();
+
+ /**
* Push MPLS ether type.
*
* @return a treatment builder.
@@ -133,6 +154,14 @@
public Builder popMpls();
/**
+ * Pops MPLS ether type.
+ *
+ * @param ethType Ethernet type to set
+ * @return a treatment builder.
+ */
+ public Builder popMpls(short ethType);
+
+ /**
* Sets the mpls label.
*
* @param mplsLabel MPLS label.
@@ -141,6 +170,13 @@
public Builder setMpls(Integer mplsLabel);
/**
+ * Decrement MPLS TTL.
+ *
+ * @return a treatment builder
+ */
+ public Builder decMplsTtl();
+
+ /**
* Sets the optical channel ID or lambda.
*
* @param lambda optical channel ID