Merge branch 'master' into funnel
Conflicts:
java_gen/java_type.py
java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U16.java
java_gen/templates/of_factory_interface.java
diff --git a/java_gen/java_type.py b/java_gen/java_type.py
index fbdb330..907e8c8 100644
--- a/java_gen/java_type.py
+++ b/java_gen/java_type.py
@@ -423,6 +423,10 @@
.op(read='TableId.readByte(bb)',
write='$name.writeByte(bb)',
default='TableId.ALL')
+table_id_default_zero = JType("TableId") \
+ .op(read='TableId.readByte(bb)',
+ write='$name.writeByte(bb)',
+ default='TableId.ZERO')
of_version = JType("OFVersion", 'byte') \
.op(read='bb.readByte()', write='bb.writeByte($name)')
@@ -595,6 +599,8 @@
.op(read='bb.readShort()', write='bb.writeShort($name)')
elif field_name == "type" and re.match(r'of_instruction.*', obj_name):
return instruction_type
+ elif obj_name in ("of_flow_add", "of_flow_modify", "of_flow_modify_strict", "of_delete_strict") and field_name == "table_id" and c_type == "uint8_t":
+ return table_id_default_zero
elif field_name == "table_id" and c_type == "uint8_t":
return table_id
elif field_name == "version" and c_type == "uint8_t":
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/TableId.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/TableId.java
index 33422d1..950087d 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/TableId.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/TableId.java
@@ -15,7 +15,9 @@
private static final short ALL_VAL = 0x00FF;
private static final short NONE_VAL = 0x0000;
public static final TableId NONE = new TableId(NONE_VAL);
+
public static final TableId ALL = new TableId(ALL_VAL);
+ public static final TableId ZERO = NONE;
private final short id;
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U16.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U16.java
index bc66bd5..9de7e14 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U16.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/U16.java
@@ -23,6 +23,7 @@
import org.projectfloodlight.openflow.protocol.Writeable;
import com.google.common.hash.PrimitiveSink;
+import com.google.common.primitives.Ints;
public class U16 implements Writeable, OFValueType<U16> {
private final static short ZERO_VAL = 0;
@@ -115,7 +116,7 @@
@Override
public int compareTo(U16 o) {
- return Integer.compare(f(raw), f(o.raw));
+ return Ints.compare(f(raw), f(o.raw));
}
@Override
diff --git a/java_gen/templates/of_factory_class.java b/java_gen/templates/of_factory_class.java
index af0777d..eef1e04 100644
--- a/java_gen/templates/of_factory_class.java
+++ b/java_gen/templates/of_factory_class.java
@@ -45,10 +45,6 @@
private final XidGenerator xidGenerator = XidGenerators.global();
//:: #endif
- public OFVersion getOFVersion() {
- return OFVersion.OF_${factory.version.of_version};
- }
-
//:: for name, clazz in factory.interface.sub_factories.items():
public ${clazz} ${name}() {
return ${clazz}Ver${factory.version.of_version}.INSTANCE;
diff --git a/java_gen/templates/of_factory_interface.java b/java_gen/templates/of_factory_interface.java
index e10a83a..9a77aa7 100644
--- a/java_gen/templates/of_factory_interface.java
+++ b/java_gen/templates/of_factory_interface.java
@@ -58,10 +58,8 @@
Match matchWildcardAll();
//:: #endif
- OFVersion getOFVersion();
OFMessageReader<${factory.base_class}> getReader();
OFVersion getVersion();
-
//:: if factory.name == 'OFOxms':
public <F extends OFValueType<F>> OFOxm<F> fromValue(F value, MatchField<F> field);