fixing loxi output
upgrade to 0.3.8
agrregate pom for of-lib

Change-Id: Ie75d75b708c30934bbca235e68c50de656d84ad4
diff --git a/of/lib/gen-src/main/java/org/projectfloodlight/openflow/protocol/ver12/OFOxmVer12.java b/of/lib/gen-src/main/java/org/projectfloodlight/openflow/protocol/ver12/OFOxmVer12.java
new file mode 100644
index 0000000..33160aa
--- /dev/null
+++ b/of/lib/gen-src/main/java/org/projectfloodlight/openflow/protocol/ver12/OFOxmVer12.java
@@ -0,0 +1,374 @@
+// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
+// Copyright (c) 2011, 2012 Open Networking Foundation
+// Copyright (c) 2012, 2013 Big Switch Networks, Inc.
+// This library was generated by the LoxiGen Compiler.
+// See the file LICENSE.txt which should have been included in the source distribution
+
+// Automatically generated by LOXI from template of_virtual_class.java
+// Do not modify
+
+package org.projectfloodlight.openflow.protocol.ver12;
+
+import org.projectfloodlight.openflow.protocol.*;
+import org.projectfloodlight.openflow.protocol.action.*;
+import org.projectfloodlight.openflow.protocol.actionid.*;
+import org.projectfloodlight.openflow.protocol.bsntlv.*;
+import org.projectfloodlight.openflow.protocol.errormsg.*;
+import org.projectfloodlight.openflow.protocol.meterband.*;
+import org.projectfloodlight.openflow.protocol.instruction.*;
+import org.projectfloodlight.openflow.protocol.instructionid.*;
+import org.projectfloodlight.openflow.protocol.match.*;
+import org.projectfloodlight.openflow.protocol.oxm.*;
+import org.projectfloodlight.openflow.protocol.queueprop.*;
+import org.projectfloodlight.openflow.types.*;
+import org.projectfloodlight.openflow.util.*;
+import org.projectfloodlight.openflow.exceptions.*;
+import org.jboss.netty.buffer.ChannelBuffer;
+
+abstract class OFOxmVer12 {
+    // version: 1.2
+    final static byte WIRE_VERSION = 3;
+    final static int MINIMUM_LENGTH = 4;
+
+
+    public final static OFOxmVer12.Reader READER = new Reader();
+
+    static class Reader implements OFMessageReader<OFOxm<?>> {
+        @Override
+        public OFOxm<?> readFrom(ChannelBuffer bb) throws OFParseError {
+            if(bb.readableBytes() < MINIMUM_LENGTH)
+                return null;
+            int start = bb.readerIndex();
+            int typeLen = bb.readInt();
+            bb.readerIndex(start);
+            switch(typeLen) {
+               case (int) 0x80002a02:
+                   // discriminator value 0x80002a02L=0x80002a02L for class OFOxmArpOpVer12
+                   return OFOxmArpOpVer12.READER.readFrom(bb);
+               case (int) 0x80002b04:
+                   // discriminator value 0x80002b04L=0x80002b04L for class OFOxmArpOpMaskedVer12
+                   return OFOxmArpOpMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003006:
+                   // discriminator value 0x80003006L=0x80003006L for class OFOxmArpShaVer12
+                   return OFOxmArpShaVer12.READER.readFrom(bb);
+               case (int) 0x8000310c:
+                   // discriminator value 0x8000310cL=0x8000310cL for class OFOxmArpShaMaskedVer12
+                   return OFOxmArpShaMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002c04:
+                   // discriminator value 0x80002c04L=0x80002c04L for class OFOxmArpSpaVer12
+                   return OFOxmArpSpaVer12.READER.readFrom(bb);
+               case (int) 0x80002d08:
+                   // discriminator value 0x80002d08L=0x80002d08L for class OFOxmArpSpaMaskedVer12
+                   return OFOxmArpSpaMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003206:
+                   // discriminator value 0x80003206L=0x80003206L for class OFOxmArpThaVer12
+                   return OFOxmArpThaVer12.READER.readFrom(bb);
+               case (int) 0x8000330c:
+                   // discriminator value 0x8000330cL=0x8000330cL for class OFOxmArpThaMaskedVer12
+                   return OFOxmArpThaMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002e04:
+                   // discriminator value 0x80002e04L=0x80002e04L for class OFOxmArpTpaVer12
+                   return OFOxmArpTpaVer12.READER.readFrom(bb);
+               case (int) 0x80002f08:
+                   // discriminator value 0x80002f08L=0x80002f08L for class OFOxmArpTpaMaskedVer12
+                   return OFOxmArpTpaMaskedVer12.READER.readFrom(bb);
+               case 0x30e04:
+                   // discriminator value 0x30e04L=0x30e04L for class OFOxmBsnEgrPortGroupIdVer12
+                   return OFOxmBsnEgrPortGroupIdVer12.READER.readFrom(bb);
+               case 0x30f08:
+                   // discriminator value 0x30f08L=0x30f08L for class OFOxmBsnEgrPortGroupIdMaskedVer12
+                   return OFOxmBsnEgrPortGroupIdMaskedVer12.READER.readFrom(bb);
+               case 0x30601:
+                   // discriminator value 0x30601L=0x30601L for class OFOxmBsnGlobalVrfAllowedVer12
+                   return OFOxmBsnGlobalVrfAllowedVer12.READER.readFrom(bb);
+               case 0x30702:
+                   // discriminator value 0x30702L=0x30702L for class OFOxmBsnGlobalVrfAllowedMaskedVer12
+                   return OFOxmBsnGlobalVrfAllowedMaskedVer12.READER.readFrom(bb);
+               case 0x30010:
+                   // discriminator value 0x30010L=0x30010L for class OFOxmBsnInPorts128Ver12
+                   return OFOxmBsnInPorts128Ver12.READER.readFrom(bb);
+               case 0x30120:
+                   // discriminator value 0x30120L=0x30120L for class OFOxmBsnInPorts128MaskedVer12
+                   return OFOxmBsnInPorts128MaskedVer12.READER.readFrom(bb);
+               case 0x30c04:
+                   // discriminator value 0x30c04L=0x30c04L for class OFOxmBsnL3DstClassIdVer12
+                   return OFOxmBsnL3DstClassIdVer12.READER.readFrom(bb);
+               case 0x30d08:
+                   // discriminator value 0x30d08L=0x30d08L for class OFOxmBsnL3DstClassIdMaskedVer12
+                   return OFOxmBsnL3DstClassIdMaskedVer12.READER.readFrom(bb);
+               case 0x30804:
+                   // discriminator value 0x30804L=0x30804L for class OFOxmBsnL3InterfaceClassIdVer12
+                   return OFOxmBsnL3InterfaceClassIdVer12.READER.readFrom(bb);
+               case 0x30908:
+                   // discriminator value 0x30908L=0x30908L for class OFOxmBsnL3InterfaceClassIdMaskedVer12
+                   return OFOxmBsnL3InterfaceClassIdMaskedVer12.READER.readFrom(bb);
+               case 0x30a04:
+                   // discriminator value 0x30a04L=0x30a04L for class OFOxmBsnL3SrcClassIdVer12
+                   return OFOxmBsnL3SrcClassIdVer12.READER.readFrom(bb);
+               case 0x30b08:
+                   // discriminator value 0x30b08L=0x30b08L for class OFOxmBsnL3SrcClassIdMaskedVer12
+                   return OFOxmBsnL3SrcClassIdMaskedVer12.READER.readFrom(bb);
+               case 0x30204:
+                   // discriminator value 0x30204L=0x30204L for class OFOxmBsnLagIdVer12
+                   return OFOxmBsnLagIdVer12.READER.readFrom(bb);
+               case 0x30308:
+                   // discriminator value 0x30308L=0x30308L for class OFOxmBsnLagIdMaskedVer12
+                   return OFOxmBsnLagIdMaskedVer12.READER.readFrom(bb);
+               case 0x32002:
+                   // discriminator value 0x32002L=0x32002L for class OFOxmBsnTcpFlagsVer12
+                   return OFOxmBsnTcpFlagsVer12.READER.readFrom(bb);
+               case 0x32104:
+                   // discriminator value 0x32104L=0x32104L for class OFOxmBsnTcpFlagsMaskedVer12
+                   return OFOxmBsnTcpFlagsMaskedVer12.READER.readFrom(bb);
+               case 0x31004:
+                   // discriminator value 0x31004L=0x31004L for class OFOxmBsnUdf0Ver12
+                   return OFOxmBsnUdf0Ver12.READER.readFrom(bb);
+               case 0x31108:
+                   // discriminator value 0x31108L=0x31108L for class OFOxmBsnUdf0MaskedVer12
+                   return OFOxmBsnUdf0MaskedVer12.READER.readFrom(bb);
+               case 0x31204:
+                   // discriminator value 0x31204L=0x31204L for class OFOxmBsnUdf1Ver12
+                   return OFOxmBsnUdf1Ver12.READER.readFrom(bb);
+               case 0x31308:
+                   // discriminator value 0x31308L=0x31308L for class OFOxmBsnUdf1MaskedVer12
+                   return OFOxmBsnUdf1MaskedVer12.READER.readFrom(bb);
+               case 0x31404:
+                   // discriminator value 0x31404L=0x31404L for class OFOxmBsnUdf2Ver12
+                   return OFOxmBsnUdf2Ver12.READER.readFrom(bb);
+               case 0x31508:
+                   // discriminator value 0x31508L=0x31508L for class OFOxmBsnUdf2MaskedVer12
+                   return OFOxmBsnUdf2MaskedVer12.READER.readFrom(bb);
+               case 0x31604:
+                   // discriminator value 0x31604L=0x31604L for class OFOxmBsnUdf3Ver12
+                   return OFOxmBsnUdf3Ver12.READER.readFrom(bb);
+               case 0x31708:
+                   // discriminator value 0x31708L=0x31708L for class OFOxmBsnUdf3MaskedVer12
+                   return OFOxmBsnUdf3MaskedVer12.READER.readFrom(bb);
+               case 0x31804:
+                   // discriminator value 0x31804L=0x31804L for class OFOxmBsnUdf4Ver12
+                   return OFOxmBsnUdf4Ver12.READER.readFrom(bb);
+               case 0x31908:
+                   // discriminator value 0x31908L=0x31908L for class OFOxmBsnUdf4MaskedVer12
+                   return OFOxmBsnUdf4MaskedVer12.READER.readFrom(bb);
+               case 0x31a04:
+                   // discriminator value 0x31a04L=0x31a04L for class OFOxmBsnUdf5Ver12
+                   return OFOxmBsnUdf5Ver12.READER.readFrom(bb);
+               case 0x31b08:
+                   // discriminator value 0x31b08L=0x31b08L for class OFOxmBsnUdf5MaskedVer12
+                   return OFOxmBsnUdf5MaskedVer12.READER.readFrom(bb);
+               case 0x31c04:
+                   // discriminator value 0x31c04L=0x31c04L for class OFOxmBsnUdf6Ver12
+                   return OFOxmBsnUdf6Ver12.READER.readFrom(bb);
+               case 0x31d08:
+                   // discriminator value 0x31d08L=0x31d08L for class OFOxmBsnUdf6MaskedVer12
+                   return OFOxmBsnUdf6MaskedVer12.READER.readFrom(bb);
+               case 0x31e04:
+                   // discriminator value 0x31e04L=0x31e04L for class OFOxmBsnUdf7Ver12
+                   return OFOxmBsnUdf7Ver12.READER.readFrom(bb);
+               case 0x31f08:
+                   // discriminator value 0x31f08L=0x31f08L for class OFOxmBsnUdf7MaskedVer12
+                   return OFOxmBsnUdf7MaskedVer12.READER.readFrom(bb);
+               case 0x32204:
+                   // discriminator value 0x32204L=0x32204L for class OFOxmBsnVlanXlatePortGroupIdVer12
+                   return OFOxmBsnVlanXlatePortGroupIdVer12.READER.readFrom(bb);
+               case 0x32308:
+                   // discriminator value 0x32308L=0x32308L for class OFOxmBsnVlanXlatePortGroupIdMaskedVer12
+                   return OFOxmBsnVlanXlatePortGroupIdMaskedVer12.READER.readFrom(bb);
+               case 0x30404:
+                   // discriminator value 0x30404L=0x30404L for class OFOxmBsnVrfVer12
+                   return OFOxmBsnVrfVer12.READER.readFrom(bb);
+               case 0x30508:
+                   // discriminator value 0x30508L=0x30508L for class OFOxmBsnVrfMaskedVer12
+                   return OFOxmBsnVrfMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000606:
+                   // discriminator value 0x80000606L=0x80000606L for class OFOxmEthDstVer12
+                   return OFOxmEthDstVer12.READER.readFrom(bb);
+               case (int) 0x8000070c:
+                   // discriminator value 0x8000070cL=0x8000070cL for class OFOxmEthDstMaskedVer12
+                   return OFOxmEthDstMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000806:
+                   // discriminator value 0x80000806L=0x80000806L for class OFOxmEthSrcVer12
+                   return OFOxmEthSrcVer12.READER.readFrom(bb);
+               case (int) 0x8000090c:
+                   // discriminator value 0x8000090cL=0x8000090cL for class OFOxmEthSrcMaskedVer12
+                   return OFOxmEthSrcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000a02:
+                   // discriminator value 0x80000a02L=0x80000a02L for class OFOxmEthTypeVer12
+                   return OFOxmEthTypeVer12.READER.readFrom(bb);
+               case (int) 0x80000b04:
+                   // discriminator value 0x80000b04L=0x80000b04L for class OFOxmEthTypeMaskedVer12
+                   return OFOxmEthTypeMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002801:
+                   // discriminator value 0x80002801L=0x80002801L for class OFOxmIcmpv4CodeVer12
+                   return OFOxmIcmpv4CodeVer12.READER.readFrom(bb);
+               case (int) 0x80002902:
+                   // discriminator value 0x80002902L=0x80002902L for class OFOxmIcmpv4CodeMaskedVer12
+                   return OFOxmIcmpv4CodeMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002601:
+                   // discriminator value 0x80002601L=0x80002601L for class OFOxmIcmpv4TypeVer12
+                   return OFOxmIcmpv4TypeVer12.READER.readFrom(bb);
+               case (int) 0x80002702:
+                   // discriminator value 0x80002702L=0x80002702L for class OFOxmIcmpv4TypeMaskedVer12
+                   return OFOxmIcmpv4TypeMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003c01:
+                   // discriminator value 0x80003c01L=0x80003c01L for class OFOxmIcmpv6CodeVer12
+                   return OFOxmIcmpv6CodeVer12.READER.readFrom(bb);
+               case (int) 0x80003d02:
+                   // discriminator value 0x80003d02L=0x80003d02L for class OFOxmIcmpv6CodeMaskedVer12
+                   return OFOxmIcmpv6CodeMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003a01:
+                   // discriminator value 0x80003a01L=0x80003a01L for class OFOxmIcmpv6TypeVer12
+                   return OFOxmIcmpv6TypeVer12.READER.readFrom(bb);
+               case (int) 0x80003b02:
+                   // discriminator value 0x80003b02L=0x80003b02L for class OFOxmIcmpv6TypeMaskedVer12
+                   return OFOxmIcmpv6TypeMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000204:
+                   // discriminator value 0x80000204L=0x80000204L for class OFOxmInPhyPortVer12
+                   return OFOxmInPhyPortVer12.READER.readFrom(bb);
+               case (int) 0x80000308:
+                   // discriminator value 0x80000308L=0x80000308L for class OFOxmInPhyPortMaskedVer12
+                   return OFOxmInPhyPortMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000004:
+                   // discriminator value 0x80000004L=0x80000004L for class OFOxmInPortVer12
+                   return OFOxmInPortVer12.READER.readFrom(bb);
+               case (int) 0x80000108:
+                   // discriminator value 0x80000108L=0x80000108L for class OFOxmInPortMaskedVer12
+                   return OFOxmInPortMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001001:
+                   // discriminator value 0x80001001L=0x80001001L for class OFOxmIpDscpVer12
+                   return OFOxmIpDscpVer12.READER.readFrom(bb);
+               case (int) 0x80001102:
+                   // discriminator value 0x80001102L=0x80001102L for class OFOxmIpDscpMaskedVer12
+                   return OFOxmIpDscpMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001201:
+                   // discriminator value 0x80001201L=0x80001201L for class OFOxmIpEcnVer12
+                   return OFOxmIpEcnVer12.READER.readFrom(bb);
+               case (int) 0x80001302:
+                   // discriminator value 0x80001302L=0x80001302L for class OFOxmIpEcnMaskedVer12
+                   return OFOxmIpEcnMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001401:
+                   // discriminator value 0x80001401L=0x80001401L for class OFOxmIpProtoVer12
+                   return OFOxmIpProtoVer12.READER.readFrom(bb);
+               case (int) 0x80001502:
+                   // discriminator value 0x80001502L=0x80001502L for class OFOxmIpProtoMaskedVer12
+                   return OFOxmIpProtoMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001804:
+                   // discriminator value 0x80001804L=0x80001804L for class OFOxmIpv4DstVer12
+                   return OFOxmIpv4DstVer12.READER.readFrom(bb);
+               case (int) 0x80001908:
+                   // discriminator value 0x80001908L=0x80001908L for class OFOxmIpv4DstMaskedVer12
+                   return OFOxmIpv4DstMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001604:
+                   // discriminator value 0x80001604L=0x80001604L for class OFOxmIpv4SrcVer12
+                   return OFOxmIpv4SrcVer12.READER.readFrom(bb);
+               case (int) 0x80001708:
+                   // discriminator value 0x80001708L=0x80001708L for class OFOxmIpv4SrcMaskedVer12
+                   return OFOxmIpv4SrcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003610:
+                   // discriminator value 0x80003610L=0x80003610L for class OFOxmIpv6DstVer12
+                   return OFOxmIpv6DstVer12.READER.readFrom(bb);
+               case (int) 0x80003720:
+                   // discriminator value 0x80003720L=0x80003720L for class OFOxmIpv6DstMaskedVer12
+                   return OFOxmIpv6DstMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003804:
+                   // discriminator value 0x80003804L=0x80003804L for class OFOxmIpv6FlabelVer12
+                   return OFOxmIpv6FlabelVer12.READER.readFrom(bb);
+               case (int) 0x80003908:
+                   // discriminator value 0x80003908L=0x80003908L for class OFOxmIpv6FlabelMaskedVer12
+                   return OFOxmIpv6FlabelMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80004006:
+                   // discriminator value 0x80004006L=0x80004006L for class OFOxmIpv6NdSllVer12
+                   return OFOxmIpv6NdSllVer12.READER.readFrom(bb);
+               case (int) 0x8000410c:
+                   // discriminator value 0x8000410cL=0x8000410cL for class OFOxmIpv6NdSllMaskedVer12
+                   return OFOxmIpv6NdSllMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003e10:
+                   // discriminator value 0x80003e10L=0x80003e10L for class OFOxmIpv6NdTargetVer12
+                   return OFOxmIpv6NdTargetVer12.READER.readFrom(bb);
+               case (int) 0x80003f20:
+                   // discriminator value 0x80003f20L=0x80003f20L for class OFOxmIpv6NdTargetMaskedVer12
+                   return OFOxmIpv6NdTargetMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80004206:
+                   // discriminator value 0x80004206L=0x80004206L for class OFOxmIpv6NdTllVer12
+                   return OFOxmIpv6NdTllVer12.READER.readFrom(bb);
+               case (int) 0x8000430c:
+                   // discriminator value 0x8000430cL=0x8000430cL for class OFOxmIpv6NdTllMaskedVer12
+                   return OFOxmIpv6NdTllMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80003410:
+                   // discriminator value 0x80003410L=0x80003410L for class OFOxmIpv6SrcVer12
+                   return OFOxmIpv6SrcVer12.READER.readFrom(bb);
+               case (int) 0x80003520:
+                   // discriminator value 0x80003520L=0x80003520L for class OFOxmIpv6SrcMaskedVer12
+                   return OFOxmIpv6SrcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000408:
+                   // discriminator value 0x80000408L=0x80000408L for class OFOxmMetadataVer12
+                   return OFOxmMetadataVer12.READER.readFrom(bb);
+               case (int) 0x80000510:
+                   // discriminator value 0x80000510L=0x80000510L for class OFOxmMetadataMaskedVer12
+                   return OFOxmMetadataMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80004404:
+                   // discriminator value 0x80004404L=0x80004404L for class OFOxmMplsLabelVer12
+                   return OFOxmMplsLabelVer12.READER.readFrom(bb);
+               case (int) 0x80004508:
+                   // discriminator value 0x80004508L=0x80004508L for class OFOxmMplsLabelMaskedVer12
+                   return OFOxmMplsLabelMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80004601:
+                   // discriminator value 0x80004601L=0x80004601L for class OFOxmMplsTcVer12
+                   return OFOxmMplsTcVer12.READER.readFrom(bb);
+               case (int) 0x80004702:
+                   // discriminator value 0x80004702L=0x80004702L for class OFOxmMplsTcMaskedVer12
+                   return OFOxmMplsTcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002402:
+                   // discriminator value 0x80002402L=0x80002402L for class OFOxmSctpDstVer12
+                   return OFOxmSctpDstVer12.READER.readFrom(bb);
+               case (int) 0x80002504:
+                   // discriminator value 0x80002504L=0x80002504L for class OFOxmSctpDstMaskedVer12
+                   return OFOxmSctpDstMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002202:
+                   // discriminator value 0x80002202L=0x80002202L for class OFOxmSctpSrcVer12
+                   return OFOxmSctpSrcVer12.READER.readFrom(bb);
+               case (int) 0x80002304:
+                   // discriminator value 0x80002304L=0x80002304L for class OFOxmSctpSrcMaskedVer12
+                   return OFOxmSctpSrcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001c02:
+                   // discriminator value 0x80001c02L=0x80001c02L for class OFOxmTcpDstVer12
+                   return OFOxmTcpDstVer12.READER.readFrom(bb);
+               case (int) 0x80001d04:
+                   // discriminator value 0x80001d04L=0x80001d04L for class OFOxmTcpDstMaskedVer12
+                   return OFOxmTcpDstMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001a02:
+                   // discriminator value 0x80001a02L=0x80001a02L for class OFOxmTcpSrcVer12
+                   return OFOxmTcpSrcVer12.READER.readFrom(bb);
+               case (int) 0x80001b04:
+                   // discriminator value 0x80001b04L=0x80001b04L for class OFOxmTcpSrcMaskedVer12
+                   return OFOxmTcpSrcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80002002:
+                   // discriminator value 0x80002002L=0x80002002L for class OFOxmUdpDstVer12
+                   return OFOxmUdpDstVer12.READER.readFrom(bb);
+               case (int) 0x80002104:
+                   // discriminator value 0x80002104L=0x80002104L for class OFOxmUdpDstMaskedVer12
+                   return OFOxmUdpDstMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80001e02:
+                   // discriminator value 0x80001e02L=0x80001e02L for class OFOxmUdpSrcVer12
+                   return OFOxmUdpSrcVer12.READER.readFrom(bb);
+               case (int) 0x80001f04:
+                   // discriminator value 0x80001f04L=0x80001f04L for class OFOxmUdpSrcMaskedVer12
+                   return OFOxmUdpSrcMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000e01:
+                   // discriminator value 0x80000e01L=0x80000e01L for class OFOxmVlanPcpVer12
+                   return OFOxmVlanPcpVer12.READER.readFrom(bb);
+               case (int) 0x80000f02:
+                   // discriminator value 0x80000f02L=0x80000f02L for class OFOxmVlanPcpMaskedVer12
+                   return OFOxmVlanPcpMaskedVer12.READER.readFrom(bb);
+               case (int) 0x80000c02:
+                   // discriminator value 0x80000c02L=0x80000c02L for class OFOxmVlanVidVer12
+                   return OFOxmVlanVidVer12.READER.readFrom(bb);
+               case (int) 0x80000d04:
+                   // discriminator value 0x80000d04L=0x80000d04L for class OFOxmVlanVidMaskedVer12
+                   return OFOxmVlanVidMaskedVer12.READER.readFrom(bb);
+               default:
+                   throw new OFParseError("Unknown value for discriminator typeLen of class OFOxmVer12: " + typeLen);
+            }
+        }
+    }
+}