of_tunnel_id support for OXM is added.
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java
index aebcbb2..c5f9167 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java
@@ -20,6 +20,7 @@
import org.projectfloodlight.openflow.types.OFValueType;
import org.projectfloodlight.openflow.types.OFVlanVidMatch;
import org.projectfloodlight.openflow.types.TransportPort;
+import org.projectfloodlight.openflow.types.U64;
import org.projectfloodlight.openflow.types.U32;
import org.projectfloodlight.openflow.types.U8;
import org.projectfloodlight.openflow.types.UDF;
@@ -176,6 +177,9 @@
new MatchField<U8>("mpls_tc", MatchFields.MPLS_TC,
new Prerequisite<EthType>(MatchField.ETH_TYPE, EthType.MPLS_UNICAST, EthType.MPLS_MULTICAST));
+ public final static MatchField<U64> TUNNEL_ID =
+ new MatchField<U64>("tunnel_id", MatchFields.TUNNEL_ID);
+
public final static MatchField<OFBitMask128> BSN_IN_PORTS_128 =
new MatchField<OFBitMask128>("bsn_in_ports_128", MatchFields.BSN_IN_PORTS_128);
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java
index d1e2ee9..021ba71 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java
@@ -38,6 +38,7 @@
IPV6_ND_TLL,
MPLS_LABEL,
MPLS_TC,
+ TUNNEL_ID,
BSN_IN_PORTS_128,
BSN_LAG_ID,
BSN_VRF,
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java
index 6ca39fe..6a1868e 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java
@@ -31,14 +31,14 @@
/**
* Perform a low level AND operation on the bits of two IPAddress<?> objects
- * @param IPAddress<?> other
+ * @param other F
* @return new IPAddress<?> object after the AND oper
*/
public abstract F and(F other);
/**
* Perform a low level OR operation on the bits of two IPAddress<?> objects
- * @param IPAddress<?> other
+ * @param other F
* @return new IPAddress<?> object after the AND oper
*/
public abstract F or(F other);
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U64.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U64.java
index f480c47..70f362d 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U64.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U64.java
@@ -32,6 +32,10 @@
private final static long ZERO_VAL = 0;
public final static U64 ZERO = new U64(ZERO_VAL);
+ private static final long NO_MASK_VAL = 0xFFffFFffFFffFFffL;
+ public final static U64 NO_MASK = new U64(NO_MASK_VAL);
+ public static final U64 FULL_MASK = ZERO;
+
private final long raw;
protected U64(final long raw) {
diff --git a/openflow_input/oxm-1.2 b/openflow_input/oxm-1.2
index 5006cff..4eed2ef 100644
--- a/openflow_input/oxm-1.2
+++ b/openflow_input/oxm-1.2
@@ -431,3 +431,14 @@
uint16_t value;
uint16_t value_mask;
};
+
+struct of_oxm_tunnel_id : of_oxm {
+ uint32_t type_len == 0x80004c08;
+ uint64_t value;
+};
+
+struct of_oxm_tunnel_id_masked : of_oxm {
+ uint32_t type_len == 0x80004d10;
+ uint64_t value;
+ uint64_t value_mask;
+};