java_gen: separate VlanVid and OFVlanVidMatch + push version to 0.3.1
OF1.3 specifies the concept of a 'PRESENT' bit (0x1000) that gets
added to the 12 bit VlanVid to indicate presence of a tagged vlan.
While the standard is unclear, our reading is that this is only
relevant for use in match fields/oxms (not in actions).
This commit accordingly splits up VlanVid into
- a new VlanVid class (which just represents the concept of a 12-bit
VLAN tag, as specified by 802.1Q), and
- OFVlanVidMatch (which represents the concepts of an OF1.3 VlanTag
+ Presence Bit, as spec'ed in OF1.3 for matches).
As this is an API-incompatible change, the artifact version has
been pushed to 0.3.1
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 1831626..92d4878 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
@@ -18,12 +18,12 @@
import org.projectfloodlight.openflow.types.OFMetadata;
import org.projectfloodlight.openflow.types.OFPort;
import org.projectfloodlight.openflow.types.OFValueType;
+import org.projectfloodlight.openflow.types.OFVlanVidMatch;
import org.projectfloodlight.openflow.types.TransportPort;
import org.projectfloodlight.openflow.types.U32;
import org.projectfloodlight.openflow.types.U8;
-import org.projectfloodlight.openflow.types.VlanPcp;
-import org.projectfloodlight.openflow.types.VlanVid;
import org.projectfloodlight.openflow.types.VRF;
+import org.projectfloodlight.openflow.types.VlanPcp;
@SuppressWarnings("unchecked")
public class MatchField<F extends OFValueType<F>> {
@@ -56,12 +56,12 @@
public final static MatchField<EthType> ETH_TYPE =
new MatchField<EthType>("eth_type", MatchFields.ETH_TYPE);
- public final static MatchField<VlanVid> VLAN_VID =
- new MatchField<VlanVid>("vlan_vid", MatchFields.VLAN_VID);
+ public final static MatchField<OFVlanVidMatch> VLAN_VID =
+ new MatchField<OFVlanVidMatch>("vlan_vid", MatchFields.VLAN_VID);
public final static MatchField<VlanPcp> VLAN_PCP =
new MatchField<VlanPcp>("vlan_pcp", MatchFields.VLAN_PCP,
- new Prerequisite<VlanVid>(MatchField.VLAN_VID));
+ new Prerequisite<OFVlanVidMatch>(MatchField.VLAN_VID));
public final static MatchField<IpDscp> IP_DSCP =
new MatchField<IpDscp>("ip_dscp", MatchFields.IP_DSCP,