Added FULL_MASK, NO_MASK constant values for each value type.
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/ArpOpcode.java b/java_gen/pre-written/src/main/java/org/openflow/types/ArpOpcode.java
index 6ebf447..92d7e18 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/ArpOpcode.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/ArpOpcode.java
@@ -32,34 +32,37 @@
     private static final int ARP_OPCODE_VAL_OP_EXP1   = 24;
     private static final int ARP_OPCODE_VAL_OP_EXP2   = 25;
 
-    public static ArpOpcode ARP_OPCODE_REQUEST  = new ArpOpcode(ARP_OPCODE_VAL_REQUEST);
-    public static ArpOpcode ARP_OPCODE_REPLY    = new ArpOpcode(ARP_OPCODE_VAL_REPLY);
-    public static ArpOpcode ARP_OPCODE_REQUEST_REVERSE  = new ArpOpcode(ARP_OPCODE_VAL_REQUEST_REVERSE);
-    public static ArpOpcode ARP_OPCODE_REPLY_REVERSE    = new ArpOpcode(ARP_OPCODE_VAL_REPLY_REVERSE);
-    public static ArpOpcode ARP_OPCODE_DRARP_REQUEST    = new ArpOpcode(ARP_OPCODE_VAL_DRARP_REQUEST);
-    public static ArpOpcode ARP_OPCODE_DRARP_REPLY  = new ArpOpcode(ARP_OPCODE_VAL_DRARP_REPLY);
-    public static ArpOpcode ARP_OPCODE_DRARP_ERROR  = new ArpOpcode(ARP_OPCODE_VAL_DRARP_ERROR);
-    public static ArpOpcode ARP_OPCODE_INARP_REQUEST    = new ArpOpcode(ARP_OPCODE_VAL_INARP_REQUEST);
-    public static ArpOpcode ARP_OPCODE_INARP_REPLY  = new ArpOpcode(ARP_OPCODE_VAL_INARP_REPLY);
-    public static ArpOpcode ARP_OPCODE_ARP_NAK  = new ArpOpcode(ARP_OPCODE_VAL_ARP_NAK);
-    public static ArpOpcode ARP_OPCODE_MARS_REQUEST = new ArpOpcode(ARP_OPCODE_VAL_MARS_REQUEST);
-    public static ArpOpcode ARP_OPCODE_MARS_MULTI   = new ArpOpcode(ARP_OPCODE_VAL_MARS_MULTI);
-    public static ArpOpcode ARP_OPCODE_MARS_MSERV   = new ArpOpcode(ARP_OPCODE_VAL_MARS_MSERV);
-    public static ArpOpcode ARP_OPCODE_MARS_JOIN    = new ArpOpcode(ARP_OPCODE_VAL_MARS_JOIN);
-    public static ArpOpcode ARP_OPCODE_MARS_LEAVE   = new ArpOpcode(ARP_OPCODE_VAL_MARS_LEAVE);
-    public static ArpOpcode ARP_OPCODE_MARS_NAK = new ArpOpcode(ARP_OPCODE_VAL_MARS_NAK);
-    public static ArpOpcode ARP_OPCODE_MARS_UNSERV  = new ArpOpcode(ARP_OPCODE_VAL_MARS_UNSERV);
-    public static ArpOpcode ARP_OPCODE_MARS_SJOIN   = new ArpOpcode(ARP_OPCODE_VAL_MARS_SJOIN);
-    public static ArpOpcode ARP_OPCODE_MARS_SLEAVE  = new ArpOpcode(ARP_OPCODE_VAL_MARS_SLEAVE);
-    public static ArpOpcode ARP_OPCODE_MARS_GROUPLIST_REQUEST   = new ArpOpcode(ARP_OPCODE_VAL_MARS_GROUPLIST_REQUEST);
-    public static ArpOpcode ARP_OPCODE_MARS_GROUPLIST_REPLY = new ArpOpcode(ARP_OPCODE_VAL_MARS_GROUPLIST_REPLY);
-    public static ArpOpcode ARP_OPCODE_MARS_REDIRECT_MAP    = new ArpOpcode(ARP_OPCODE_VAL_MARS_REDIRECT_MAP);
-    public static ArpOpcode ARP_OPCODE_MAPOS_UNARP  = new ArpOpcode(ARP_OPCODE_VAL_MAPOS_UNARP);
-    public static ArpOpcode ARP_OPCODE_OP_EXP1  = new ArpOpcode(ARP_OPCODE_VAL_OP_EXP1);
-    public static ArpOpcode ARP_OPCODE_OP_EXP2  = new ArpOpcode(ARP_OPCODE_VAL_OP_EXP2);
+    public static final ArpOpcode ARP_OPCODE_REQUEST  = new ArpOpcode(ARP_OPCODE_VAL_REQUEST);
+    public static final ArpOpcode ARP_OPCODE_REPLY    = new ArpOpcode(ARP_OPCODE_VAL_REPLY);
+    public static final ArpOpcode ARP_OPCODE_REQUEST_REVERSE  = new ArpOpcode(ARP_OPCODE_VAL_REQUEST_REVERSE);
+    public static final ArpOpcode ARP_OPCODE_REPLY_REVERSE    = new ArpOpcode(ARP_OPCODE_VAL_REPLY_REVERSE);
+    public static final ArpOpcode ARP_OPCODE_DRARP_REQUEST    = new ArpOpcode(ARP_OPCODE_VAL_DRARP_REQUEST);
+    public static final ArpOpcode ARP_OPCODE_DRARP_REPLY  = new ArpOpcode(ARP_OPCODE_VAL_DRARP_REPLY);
+    public static final ArpOpcode ARP_OPCODE_DRARP_ERROR  = new ArpOpcode(ARP_OPCODE_VAL_DRARP_ERROR);
+    public static final ArpOpcode ARP_OPCODE_INARP_REQUEST    = new ArpOpcode(ARP_OPCODE_VAL_INARP_REQUEST);
+    public static final ArpOpcode ARP_OPCODE_INARP_REPLY  = new ArpOpcode(ARP_OPCODE_VAL_INARP_REPLY);
+    public static final ArpOpcode ARP_OPCODE_ARP_NAK  = new ArpOpcode(ARP_OPCODE_VAL_ARP_NAK);
+    public static final ArpOpcode ARP_OPCODE_MARS_REQUEST = new ArpOpcode(ARP_OPCODE_VAL_MARS_REQUEST);
+    public static final ArpOpcode ARP_OPCODE_MARS_MULTI   = new ArpOpcode(ARP_OPCODE_VAL_MARS_MULTI);
+    public static final ArpOpcode ARP_OPCODE_MARS_MSERV   = new ArpOpcode(ARP_OPCODE_VAL_MARS_MSERV);
+    public static final ArpOpcode ARP_OPCODE_MARS_JOIN    = new ArpOpcode(ARP_OPCODE_VAL_MARS_JOIN);
+    public static final ArpOpcode ARP_OPCODE_MARS_LEAVE   = new ArpOpcode(ARP_OPCODE_VAL_MARS_LEAVE);
+    public static final ArpOpcode ARP_OPCODE_MARS_NAK = new ArpOpcode(ARP_OPCODE_VAL_MARS_NAK);
+    public static final ArpOpcode ARP_OPCODE_MARS_UNSERV  = new ArpOpcode(ARP_OPCODE_VAL_MARS_UNSERV);
+    public static final ArpOpcode ARP_OPCODE_MARS_SJOIN   = new ArpOpcode(ARP_OPCODE_VAL_MARS_SJOIN);
+    public static final ArpOpcode ARP_OPCODE_MARS_SLEAVE  = new ArpOpcode(ARP_OPCODE_VAL_MARS_SLEAVE);
+    public static final ArpOpcode ARP_OPCODE_MARS_GROUPLIST_REQUEST   = new ArpOpcode(ARP_OPCODE_VAL_MARS_GROUPLIST_REQUEST);
+    public static final ArpOpcode ARP_OPCODE_MARS_GROUPLIST_REPLY = new ArpOpcode(ARP_OPCODE_VAL_MARS_GROUPLIST_REPLY);
+    public static final ArpOpcode ARP_OPCODE_MARS_REDIRECT_MAP    = new ArpOpcode(ARP_OPCODE_VAL_MARS_REDIRECT_MAP);
+    public static final ArpOpcode ARP_OPCODE_MAPOS_UNARP  = new ArpOpcode(ARP_OPCODE_VAL_MAPOS_UNARP);
+    public static final ArpOpcode ARP_OPCODE_OP_EXP1  = new ArpOpcode(ARP_OPCODE_VAL_OP_EXP1);
+    public static final ArpOpcode ARP_OPCODE_OP_EXP2  = new ArpOpcode(ARP_OPCODE_VAL_OP_EXP2);
 
     private static final int MIN_OPCODE = 0;
     private static final int MAX_OPCODE = 0xFFFF;
+    
+    public static final ArpOpcode FULL_MASK = new ArpOpcode(0xFFFFFFFF);
+    public static final ArpOpcode NO_MASK = new ArpOpcode(0x00000000);
 
     private final int opcode;
 
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/EthType.java b/java_gen/pre-written/src/main/java/org/openflow/types/EthType.java
index ea16e67..ff843ce 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/EthType.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/EthType.java
@@ -101,6 +101,9 @@
     public static final EthType ETH_TYPE_Q_IN_Q             = new EthType(ETH_TYPE_VAL_Q_IN_Q );
     public static final EthType ETH_TYPE_LLT                = new EthType(ETH_TYPE_VAL_LLT );
 
+    public static final EthType FULL_MASK = new EthType(0xFFFFFFFF);
+    public static final EthType NO_MASK = new EthType(0x00000000);
+
     private EthType(int type) {
         this.rawValue = type;
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Code.java b/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Code.java
index 42cc5be..21c9c1e 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Code.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Code.java
@@ -13,6 +13,9 @@
     final static short MAX_CODE = 0xFF;
 
     private final short code;
+    
+    public static final ICMPv4Code FULL_MASK = new ICMPv4Code((short)0xFFFF);
+    public static final ICMPv4Code NO_MASK = new ICMPv4Code((short)0x0000);
 
     private ICMPv4Code(short code) {
         this.code = code;
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Type.java b/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Type.java
index b1bbdc0..c8cf9dd 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Type.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/ICMPv4Type.java
@@ -64,6 +64,9 @@
     public static final ICMPv4Type ICMPV4_TYPE_PHOTURIS = new ICMPv4Type(ICMPV4_TYPE_VAL_PHOTURIS);
     public static final ICMPv4Type ICMPV4_TYPE_EXPERIMENTAL_MOBILITY    = new ICMPv4Type(ICMPV4_TYPE_VAL_EXPERIMENTAL_MOBILITY);
 
+    public static final ICMPv4Type FULL_MASK = new ICMPv4Type((short)0xFFFF);
+    public static final ICMPv4Type NO_MASK = new ICMPv4Type((short)0x0000);
+
     private final short type;
     
     private static final int MIN_TYPE = 0;
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/IPv4.java b/java_gen/pre-written/src/main/java/org/openflow/types/IPv4.java
index f89f683..9690a35 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/IPv4.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/IPv4.java
@@ -12,6 +12,9 @@
 public class IPv4 implements OFValueType<IPv4> {
     static final int LENGTH = 4;
     private final int rawValue;
+    
+    public static final IPv4 FULL_MASK = IPv4.of(0xFFFFFFFF);
+    public static final IPv4 NO_MASK = IPv4.of(0x00000000);
 
     private IPv4(final int rawValue) {
         this.rawValue = rawValue;
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/IPv6.java b/java_gen/pre-written/src/main/java/org/openflow/types/IPv6.java
index 200a33d..2a9304c 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/IPv6.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/IPv6.java
@@ -15,6 +15,9 @@
     static final int LENGTH = 16;
     private final long raw1;
     private final long raw2;
+    
+    public static final IPv6 FULL_MASK = IPv6.of(0xFFFFFFFFFFFFFFFFl, 0xFFFFFFFFFFFFFFFFl);
+    public static final IPv6 NO_MASK = IPv6.of(0x0, 0x0);
 
     private IPv6(final long raw1, final long raw2) {
         this.raw1 = raw1;
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/IPv6FlowLabel.java b/java_gen/pre-written/src/main/java/org/openflow/types/IPv6FlowLabel.java
index d49e4e2..cf7123c 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/IPv6FlowLabel.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/IPv6FlowLabel.java
@@ -9,6 +9,9 @@
     
     private final int label;
     
+    public static final IPv6FlowLabel FULL_MASK = IPv6FlowLabel.of(0xFFFFFFFF);
+    public static final IPv6FlowLabel NO_MASK = IPv6FlowLabel.of(0x0);
+    
     private IPv6FlowLabel(int label) {
         this.label = label;
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/IpDscp.java b/java_gen/pre-written/src/main/java/org/openflow/types/IpDscp.java
index 44e6296..5727d2f 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/IpDscp.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/IpDscp.java
@@ -67,10 +67,14 @@
     DSCP_60((byte)60),
     DSCP_61((byte)61),
     DSCP_62((byte)62),
-    DSCP_63((byte)63);
+    DSCP_63((byte)63),
+    DSCP_FULL_MASK((byte)0xFF);
     
     static final int LENGTH = 1;
     
+    public static final IpDscp FULL_MASK = DSCP_FULL_MASK;
+    public static final IpDscp NO_MASK = DSCP_0;
+    
     private final byte dscp;
     
     private IpDscp(byte dscp) {
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/IpEcn.java b/java_gen/pre-written/src/main/java/org/openflow/types/IpEcn.java
index 90600df..dfcce51 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/IpEcn.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/IpEcn.java
@@ -7,8 +7,12 @@
     ECN_00((byte)0),
     ECN_01((byte)1),
     ECN_10((byte)2),
-    ECN_11((byte)3);
+    ECN_11((byte)3),
+    ECN_FULL_MASK((byte)0xFF);
     
+    public static final IpEcn FULL_MASK = ECN_FULL_MASK;
+    public static final IpEcn NO_MASK = ECN_00;
+
     static final int LENGTH = 1;
     
     private final byte ecn;
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/IpProtocol.java b/java_gen/pre-written/src/main/java/org/openflow/types/IpProtocol.java
index f40eded..fa05358 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/IpProtocol.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/IpProtocol.java
@@ -298,6 +298,9 @@
     public static final IpProtocol IP_PROTO_HIP = new IpProtocol(IP_PROTO_NUM_HIP);
     public static final IpProtocol IP_PROTO_SHIM6 = new IpProtocol(IP_PROTO_NUM_SHIM6);
 
+    public static final IpProtocol FULL_MASK = IP_PROTO_HOPOPT;
+    public static final IpProtocol NO_MASK = new IpProtocol((short)0x0000);
+
     private IpProtocol(short version) {
         this.proto = version;
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/MacAddress.java b/java_gen/pre-written/src/main/java/org/openflow/types/MacAddress.java
index cb8ce84..172af71 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/MacAddress.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/MacAddress.java
@@ -14,6 +14,9 @@
     static final int MacAddrLen = 6;
     private final long rawValue;
 
+    public static final MacAddress FULL_MASK = MacAddress.of(0xFFFFFFFFFFFFFFFFl);
+    public static final MacAddress NO_MASK = MacAddress.of(0x0);
+
     private MacAddress(final long rawValue) {
         this.rawValue = rawValue;
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/OFMetadata.java b/java_gen/pre-written/src/main/java/org/openflow/types/OFMetadata.java
index 83d02da..2a06530 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/OFMetadata.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/OFMetadata.java
@@ -6,6 +6,9 @@
     
     private static int LENGTH = 8;
 
+    public static final OFMetadata FULL_MASK = OFMetadata.of(0xFFFFFFFFFFFFFFFFl);
+    public static final OFMetadata NO_MASK = OFMetadata.of(0x0);
+
     protected OFMetadata(long raw) {
         super(raw);
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/OFPhysicalPort.java b/java_gen/pre-written/src/main/java/org/openflow/types/OFPhysicalPort.java
index 6eb07b1..3f1e173 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/OFPhysicalPort.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/OFPhysicalPort.java
@@ -18,6 +18,9 @@
 
     private final int port;
 
+    public static final OFPhysicalPort FULL_MASK = OFPhysicalPort.of(0xFFFFFFFF);
+    public static final OFPhysicalPort NO_MASK = OFPhysicalPort.of(0x0);
+
     private OFPhysicalPort(int port) {
         this.port = port;
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/OFPort.java b/java_gen/pre-written/src/main/java/org/openflow/types/OFPort.java
index f6dc408..fe6c0cf 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/OFPort.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/OFPort.java
@@ -86,6 +86,9 @@
      */
     public final static OFPort ANY = new NamedPort(OFPP_ANY_INT, "any");
 
+    public static final OFPort FULL_MASK = OFPort.of(0xFFFFFFFF);
+    public static final OFPort NO_MASK = OFPort.of(0x0);
+    
     /** cache of frequently used ports */
     private static class PrecachedPort {
         private final static OFPort p1 = new OFPort(1);
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/TransportPort.java b/java_gen/pre-written/src/main/java/org/openflow/types/TransportPort.java
index 82dab41..ed6a4fe 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/TransportPort.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/TransportPort.java
@@ -14,6 +14,9 @@
     static final int MAX_PORT = 0xFFFF;
     static final int MIN_PORT = 0;
     
+    public static final TransportPort FULL_MASK = TransportPort.of(0xFFFFFFFF);
+    public static final TransportPort NO_MASK = TransportPort.of(0x0);
+
     private final int port;
     
     private TransportPort(int port) {
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/VlanPcp.java b/java_gen/pre-written/src/main/java/org/openflow/types/VlanPcp.java
index 531f878..138d7be 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/VlanPcp.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/VlanPcp.java
@@ -10,6 +10,9 @@
     
     private final byte pcp;
     
+    public static final VlanPcp FULL_MASK = VlanPcp.of((byte)0xFF);
+    public static final VlanPcp NO_MASK = VlanPcp.of((byte)0x0);
+    
     private VlanPcp(byte pcp) {
         this.pcp = pcp;
     }
diff --git a/java_gen/pre-written/src/main/java/org/openflow/types/VlanVid.java b/java_gen/pre-written/src/main/java/org/openflow/types/VlanVid.java
index e36a5dd..f64f4e4 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/types/VlanVid.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/types/VlanVid.java
@@ -8,6 +8,9 @@
     private static final short VALIDATION_MASK = 0x0FFF;
     final static int LENGTH = 2;
     
+    public static final VlanVid FULL_MASK = VlanVid.of((short)0xFFFF);
+    public static final VlanVid NO_MASK = VlanVid.of((short)0x0);
+
     private final short vid;
     
     private VlanVid(short vid) {