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/ver13/OFFactoryVer13.java b/of/lib/gen-src/main/java/org/projectfloodlight/openflow/protocol/ver13/OFFactoryVer13.java
new file mode 100644
index 0000000..f5b2e34
--- /dev/null
+++ b/of/lib/gen-src/main/java/org/projectfloodlight/openflow/protocol/ver13/OFFactoryVer13.java
@@ -0,0 +1,1359 @@
+// 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_factory_class.java
+// Do not modify
+
+package org.projectfloodlight.openflow.protocol.ver13;
+
+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 java.util.Set;
+import java.util.List;
+import org.projectfloodlight.openflow.protocol.OFOxmList;
+
+
+public class OFFactoryVer13 implements OFFactory {
+    public final static OFFactoryVer13 INSTANCE = new OFFactoryVer13();
+
+    private final XidGenerator xidGenerator = XidGenerators.global();
+
+    public OFActions actions() {
+        return OFActionsVer13.INSTANCE;
+    }
+    public OFInstructions instructions() {
+        return OFInstructionsVer13.INSTANCE;
+    }
+    public OFMeterBands meterBands() {
+        return OFMeterBandsVer13.INSTANCE;
+    }
+    public OFOxms oxms() {
+        return OFOxmsVer13.INSTANCE;
+    }
+    public OFQueueProps queueProps() {
+        return OFQueuePropsVer13.INSTANCE;
+    }
+    public OFErrorMsgs errorMsgs() {
+        return OFErrorMsgsVer13.INSTANCE;
+    }
+    public OFActionIds actionIds() {
+        return OFActionIdsVer13.INSTANCE;
+    }
+    public OFInstructionIds instructionIds() {
+        return OFInstructionIdsVer13.INSTANCE;
+    }
+    public OFBsnTlvs bsnTlvs() {
+        return OFBsnTlvsVer13.INSTANCE;
+    }
+
+
+    public OFAggregateStatsReply.Builder buildAggregateStatsReply() {
+        return new OFAggregateStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFAggregateStatsRequest.Builder buildAggregateStatsRequest() {
+        return new OFAggregateStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBarrierReply.Builder buildBarrierReply() {
+        return new OFBarrierReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBarrierReply barrierReply() {
+        return new OFBarrierReplyVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBarrierRequest.Builder buildBarrierRequest() {
+        return new OFBarrierRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBarrierRequest barrierRequest() {
+        return new OFBarrierRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnBwClearDataReply.Builder buildBsnBwClearDataReply() {
+        return new OFBsnBwClearDataReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnBwClearDataReply bsnBwClearDataReply(long status) {
+        return new OFBsnBwClearDataReplyVer13(
+                nextXid(),
+                      status
+                    );
+    }
+
+    public OFBsnBwClearDataRequest.Builder buildBsnBwClearDataRequest() {
+        return new OFBsnBwClearDataRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnBwClearDataRequest bsnBwClearDataRequest() {
+        return new OFBsnBwClearDataRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnBwEnableGetReply.Builder buildBsnBwEnableGetReply() {
+        return new OFBsnBwEnableGetReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnBwEnableGetReply bsnBwEnableGetReply(long enabled) {
+        return new OFBsnBwEnableGetReplyVer13(
+                nextXid(),
+                      enabled
+                    );
+    }
+
+    public OFBsnBwEnableGetRequest.Builder buildBsnBwEnableGetRequest() {
+        return new OFBsnBwEnableGetRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnBwEnableGetRequest bsnBwEnableGetRequest() {
+        return new OFBsnBwEnableGetRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnBwEnableSetReply.Builder buildBsnBwEnableSetReply() {
+        return new OFBsnBwEnableSetReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnBwEnableSetRequest.Builder buildBsnBwEnableSetRequest() {
+        return new OFBsnBwEnableSetRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnBwEnableSetRequest bsnBwEnableSetRequest(long enable) {
+        return new OFBsnBwEnableSetRequestVer13(
+                nextXid(),
+                      enable
+                    );
+    }
+
+    public OFBsnGetInterfacesReply.Builder buildBsnGetInterfacesReply() {
+        return new OFBsnGetInterfacesReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGetInterfacesReply bsnGetInterfacesReply(List<OFBsnInterface> interfaces) {
+        return new OFBsnGetInterfacesReplyVer13(
+                nextXid(),
+                      interfaces
+                    );
+    }
+
+    public OFBsnGetInterfacesRequest.Builder buildBsnGetInterfacesRequest() {
+        return new OFBsnGetInterfacesRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGetInterfacesRequest bsnGetInterfacesRequest() {
+        return new OFBsnGetInterfacesRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnGetIpMaskReply.Builder buildBsnGetIpMaskReply() {
+        throw new UnsupportedOperationException("OFBsnGetIpMaskReply not supported in version 1.3");
+    }
+
+    public OFBsnGetIpMaskRequest.Builder buildBsnGetIpMaskRequest() {
+        throw new UnsupportedOperationException("OFBsnGetIpMaskRequest not supported in version 1.3");
+    }
+    public OFBsnGetIpMaskRequest bsnGetIpMaskRequest(short index) {
+        throw new UnsupportedOperationException("OFBsnGetIpMaskRequest not supported in version 1.3");
+    }
+
+    public OFBsnGetL2TableReply.Builder buildBsnGetL2TableReply() {
+        throw new UnsupportedOperationException("OFBsnGetL2TableReply not supported in version 1.3");
+    }
+
+    public OFBsnGetL2TableRequest.Builder buildBsnGetL2TableRequest() {
+        throw new UnsupportedOperationException("OFBsnGetL2TableRequest not supported in version 1.3");
+    }
+    public OFBsnGetL2TableRequest bsnGetL2TableRequest() {
+        throw new UnsupportedOperationException("OFBsnGetL2TableRequest not supported in version 1.3");
+    }
+
+    public OFBsnGetMirroringReply.Builder buildBsnGetMirroringReply() {
+        return new OFBsnGetMirroringReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGetMirroringReply bsnGetMirroringReply(short reportMirrorPorts) {
+        return new OFBsnGetMirroringReplyVer13(
+                nextXid(),
+                      reportMirrorPorts
+                    );
+    }
+
+    public OFBsnGetMirroringRequest.Builder buildBsnGetMirroringRequest() {
+        return new OFBsnGetMirroringRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGetMirroringRequest bsnGetMirroringRequest(short reportMirrorPorts) {
+        return new OFBsnGetMirroringRequestVer13(
+                nextXid(),
+                      reportMirrorPorts
+                    );
+    }
+
+    public OFBsnHybridGetReply.Builder buildBsnHybridGetReply() {
+        throw new UnsupportedOperationException("OFBsnHybridGetReply not supported in version 1.3");
+    }
+
+    public OFBsnHybridGetRequest.Builder buildBsnHybridGetRequest() {
+        throw new UnsupportedOperationException("OFBsnHybridGetRequest not supported in version 1.3");
+    }
+    public OFBsnHybridGetRequest bsnHybridGetRequest() {
+        throw new UnsupportedOperationException("OFBsnHybridGetRequest not supported in version 1.3");
+    }
+
+    public OFBsnInterface.Builder buildBsnInterface() {
+        return new OFBsnInterfaceVer13.Builder();
+    }
+
+    public OFBsnPduRxReply.Builder buildBsnPduRxReply() {
+        return new OFBsnPduRxReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnPduRxRequest.Builder buildBsnPduRxRequest() {
+        return new OFBsnPduRxRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnPduRxTimeout.Builder buildBsnPduRxTimeout() {
+        return new OFBsnPduRxTimeoutVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnPduTxReply.Builder buildBsnPduTxReply() {
+        return new OFBsnPduTxReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnPduTxRequest.Builder buildBsnPduTxRequest() {
+        return new OFBsnPduTxRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnSetIpMask.Builder buildBsnSetIpMask() {
+        throw new UnsupportedOperationException("OFBsnSetIpMask not supported in version 1.3");
+    }
+
+    public OFBsnSetL2TableReply.Builder buildBsnSetL2TableReply() {
+        throw new UnsupportedOperationException("OFBsnSetL2TableReply not supported in version 1.3");
+    }
+
+    public OFBsnSetL2TableRequest.Builder buildBsnSetL2TableRequest() {
+        throw new UnsupportedOperationException("OFBsnSetL2TableRequest not supported in version 1.3");
+    }
+
+    public OFBsnSetMirroring.Builder buildBsnSetMirroring() {
+        return new OFBsnSetMirroringVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnSetMirroring bsnSetMirroring(short reportMirrorPorts) {
+        return new OFBsnSetMirroringVer13(
+                nextXid(),
+                      reportMirrorPorts
+                    );
+    }
+
+    public OFBsnSetPktinSuppressionReply.Builder buildBsnSetPktinSuppressionReply() {
+        return new OFBsnSetPktinSuppressionReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnSetPktinSuppressionReply bsnSetPktinSuppressionReply(long status) {
+        return new OFBsnSetPktinSuppressionReplyVer13(
+                nextXid(),
+                      status
+                    );
+    }
+
+    public OFBsnSetPktinSuppressionRequest.Builder buildBsnSetPktinSuppressionRequest() {
+        return new OFBsnSetPktinSuppressionRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnShellCommand.Builder buildBsnShellCommand() {
+        throw new UnsupportedOperationException("OFBsnShellCommand not supported in version 1.3");
+    }
+
+    public OFBsnShellOutput.Builder buildBsnShellOutput() {
+        throw new UnsupportedOperationException("OFBsnShellOutput not supported in version 1.3");
+    }
+    public OFBsnShellOutput bsnShellOutput(byte[] data) {
+        throw new UnsupportedOperationException("OFBsnShellOutput not supported in version 1.3");
+    }
+
+    public OFBsnShellStatus.Builder buildBsnShellStatus() {
+        throw new UnsupportedOperationException("OFBsnShellStatus not supported in version 1.3");
+    }
+    public OFBsnShellStatus bsnShellStatus(long status) {
+        throw new UnsupportedOperationException("OFBsnShellStatus not supported in version 1.3");
+    }
+
+    public OFBsnVirtualPortCreateReply.Builder buildBsnVirtualPortCreateReply() {
+        return new OFBsnVirtualPortCreateReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnVirtualPortCreateRequest.Builder buildBsnVirtualPortCreateRequest() {
+        return new OFBsnVirtualPortCreateRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnVirtualPortCreateRequest bsnVirtualPortCreateRequest(OFBsnVport vport) {
+        return new OFBsnVirtualPortCreateRequestVer13(
+                nextXid(),
+                      vport
+                    );
+    }
+
+    public OFBsnVirtualPortRemoveReply.Builder buildBsnVirtualPortRemoveReply() {
+        return new OFBsnVirtualPortRemoveReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnVirtualPortRemoveReply bsnVirtualPortRemoveReply(long status) {
+        return new OFBsnVirtualPortRemoveReplyVer13(
+                nextXid(),
+                      status
+                    );
+    }
+
+    public OFBsnVirtualPortRemoveRequest.Builder buildBsnVirtualPortRemoveRequest() {
+        return new OFBsnVirtualPortRemoveRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnVirtualPortRemoveRequest bsnVirtualPortRemoveRequest(long vportNo) {
+        return new OFBsnVirtualPortRemoveRequestVer13(
+                nextXid(),
+                      vportNo
+                    );
+    }
+
+    public OFBsnVportL2Gre.Builder buildBsnVportL2Gre() {
+        return new OFBsnVportL2GreVer13.Builder();
+    }
+
+    public OFBsnVportQInQ.Builder buildBsnVportQInQ() {
+        return new OFBsnVportQInQVer13.Builder();
+    }
+
+    public OFDescStatsReply.Builder buildDescStatsReply() {
+        return new OFDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFDescStatsRequest.Builder buildDescStatsRequest() {
+        return new OFDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFDescStatsRequest descStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFDescStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFEchoReply.Builder buildEchoReply() {
+        return new OFEchoReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFEchoReply echoReply(byte[] data) {
+        return new OFEchoReplyVer13(
+                nextXid(),
+                      data
+                    );
+    }
+
+    public OFEchoRequest.Builder buildEchoRequest() {
+        return new OFEchoRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFEchoRequest echoRequest(byte[] data) {
+        return new OFEchoRequestVer13(
+                nextXid(),
+                      data
+                    );
+    }
+
+    public OFFeaturesReply.Builder buildFeaturesReply() {
+        return new OFFeaturesReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFeaturesRequest.Builder buildFeaturesRequest() {
+        return new OFFeaturesRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFFeaturesRequest featuresRequest() {
+        return new OFFeaturesRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFFlowAdd.Builder buildFlowAdd() {
+        return new OFFlowAddVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowDelete.Builder buildFlowDelete() {
+        return new OFFlowDeleteVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowDeleteStrict.Builder buildFlowDeleteStrict() {
+        return new OFFlowDeleteStrictVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowModify.Builder buildFlowModify() {
+        return new OFFlowModifyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowModifyStrict.Builder buildFlowModifyStrict() {
+        return new OFFlowModifyStrictVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowRemoved.Builder buildFlowRemoved() {
+        return new OFFlowRemovedVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowStatsEntry.Builder buildFlowStatsEntry() {
+        return new OFFlowStatsEntryVer13.Builder();
+    }
+
+    public OFFlowStatsReply.Builder buildFlowStatsReply() {
+        return new OFFlowStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFFlowStatsRequest.Builder buildFlowStatsRequest() {
+        return new OFFlowStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGetConfigReply.Builder buildGetConfigReply() {
+        return new OFGetConfigReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGetConfigRequest.Builder buildGetConfigRequest() {
+        return new OFGetConfigRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFGetConfigRequest getConfigRequest() {
+        return new OFGetConfigRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFHello.Builder buildHello() {
+        return new OFHelloVer13.Builder().setXid(nextXid());
+    }
+    public OFHello hello(List<OFHelloElem> elements) {
+        return new OFHelloVer13(
+                nextXid(),
+                      elements
+                    );
+    }
+
+    public OFMatchV1.Builder buildMatchV1() {
+        throw new UnsupportedOperationException("OFMatchV1 not supported in version 1.3");
+    }
+
+    public OFNiciraControllerRoleReply.Builder buildNiciraControllerRoleReply() {
+        throw new UnsupportedOperationException("OFNiciraControllerRoleReply not supported in version 1.3");
+    }
+    public OFNiciraControllerRoleReply niciraControllerRoleReply(OFNiciraControllerRole role) {
+        throw new UnsupportedOperationException("OFNiciraControllerRoleReply not supported in version 1.3");
+    }
+
+    public OFNiciraControllerRoleRequest.Builder buildNiciraControllerRoleRequest() {
+        throw new UnsupportedOperationException("OFNiciraControllerRoleRequest not supported in version 1.3");
+    }
+    public OFNiciraControllerRoleRequest niciraControllerRoleRequest(OFNiciraControllerRole role) {
+        throw new UnsupportedOperationException("OFNiciraControllerRoleRequest not supported in version 1.3");
+    }
+
+    public OFPacketIn.Builder buildPacketIn() {
+        return new OFPacketInVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPacketOut.Builder buildPacketOut() {
+        return new OFPacketOutVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPacketQueue.Builder buildPacketQueue() {
+        return new OFPacketQueueVer13.Builder();
+    }
+
+    public OFPortDesc.Builder buildPortDesc() {
+        return new OFPortDescVer13.Builder();
+    }
+
+    public OFPortMod.Builder buildPortMod() {
+        return new OFPortModVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPortStatsEntry.Builder buildPortStatsEntry() {
+        return new OFPortStatsEntryVer13.Builder();
+    }
+
+    public OFPortStatsReply.Builder buildPortStatsReply() {
+        return new OFPortStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPortStatsRequest.Builder buildPortStatsRequest() {
+        return new OFPortStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPortStatus.Builder buildPortStatus() {
+        return new OFPortStatusVer13.Builder().setXid(nextXid());
+    }
+
+    public OFQueueGetConfigReply.Builder buildQueueGetConfigReply() {
+        return new OFQueueGetConfigReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFQueueGetConfigRequest.Builder buildQueueGetConfigRequest() {
+        return new OFQueueGetConfigRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFQueueGetConfigRequest queueGetConfigRequest(OFPort port) {
+        return new OFQueueGetConfigRequestVer13(
+                nextXid(),
+                      port
+                    );
+    }
+
+    public OFQueueStatsEntry.Builder buildQueueStatsEntry() {
+        return new OFQueueStatsEntryVer13.Builder();
+    }
+
+    public OFQueueStatsReply.Builder buildQueueStatsReply() {
+        return new OFQueueStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFQueueStatsRequest.Builder buildQueueStatsRequest() {
+        return new OFQueueStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFSetConfig.Builder buildSetConfig() {
+        return new OFSetConfigVer13.Builder().setXid(nextXid());
+    }
+
+    public OFTableMod.Builder buildTableMod() {
+        return new OFTableModVer13.Builder().setXid(nextXid());
+    }
+
+    public OFTableStatsEntry.Builder buildTableStatsEntry() {
+        return new OFTableStatsEntryVer13.Builder();
+    }
+
+    public OFTableStatsReply.Builder buildTableStatsReply() {
+        return new OFTableStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFTableStatsRequest.Builder buildTableStatsRequest() {
+        return new OFTableStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFTableStatsRequest tableStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFTableStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBucket.Builder buildBucket() {
+        return new OFBucketVer13.Builder();
+    }
+
+    public OFBucketCounter.Builder buildBucketCounter() {
+        return new OFBucketCounterVer13.Builder();
+    }
+    public OFBucketCounter bucketCounter(U64 packetCount, U64 byteCount) {
+        return new OFBucketCounterVer13(
+                packetCount,
+                      byteCount
+                    );
+    }
+
+    public OFGroupAdd.Builder buildGroupAdd() {
+        return new OFGroupAddVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGroupDelete.Builder buildGroupDelete() {
+        return new OFGroupDeleteVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGroupDescStatsEntry.Builder buildGroupDescStatsEntry() {
+        return new OFGroupDescStatsEntryVer13.Builder();
+    }
+
+    public OFGroupDescStatsReply.Builder buildGroupDescStatsReply() {
+        return new OFGroupDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGroupDescStatsRequest.Builder buildGroupDescStatsRequest() {
+        return new OFGroupDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFGroupDescStatsRequest groupDescStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFGroupDescStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFGroupModify.Builder buildGroupModify() {
+        return new OFGroupModifyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGroupStatsEntry.Builder buildGroupStatsEntry() {
+        return new OFGroupStatsEntryVer13.Builder();
+    }
+
+    public OFGroupStatsReply.Builder buildGroupStatsReply() {
+        return new OFGroupStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGroupStatsRequest.Builder buildGroupStatsRequest() {
+        return new OFGroupStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFMatchV2.Builder buildMatchV2() {
+        throw new UnsupportedOperationException("OFMatchV2 not supported in version 1.3");
+    }
+
+    public OFGroupFeaturesStatsReply.Builder buildGroupFeaturesStatsReply() {
+        return new OFGroupFeaturesStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFGroupFeaturesStatsRequest.Builder buildGroupFeaturesStatsRequest() {
+        return new OFGroupFeaturesStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFGroupFeaturesStatsRequest groupFeaturesStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFGroupFeaturesStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFMatchV3.Builder buildMatchV3() {
+        return new OFMatchV3Ver13.Builder();
+    }
+    public Match.Builder buildMatch() {
+        return new OFMatchV3Ver13.Builder();
+    }
+
+    final static Match MATCH_WILDCARD_ALL = OFMatchV3Ver13.DEFAULT;
+
+    public Match matchWildcardAll() {
+        return MATCH_WILDCARD_ALL;
+    }
+    public OFMatchV3 matchV3(OFOxmList oxmList) {
+        return new OFMatchV3Ver13(
+                oxmList
+                    );
+    }
+
+    public OFRoleReply.Builder buildRoleReply() {
+        return new OFRoleReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFRoleRequest.Builder buildRoleRequest() {
+        return new OFRoleRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFAsyncGetReply.Builder buildAsyncGetReply() {
+        return new OFAsyncGetReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFAsyncGetRequest.Builder buildAsyncGetRequest() {
+        return new OFAsyncGetRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFAsyncSet.Builder buildAsyncSet() {
+        return new OFAsyncSetVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnArpIdle.Builder buildBsnArpIdle() {
+        return new OFBsnArpIdleVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnControllerConnection.Builder buildBsnControllerConnection() {
+        return new OFBsnControllerConnectionVer13.Builder();
+    }
+
+    public OFBsnControllerConnectionsReply.Builder buildBsnControllerConnectionsReply() {
+        return new OFBsnControllerConnectionsReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnControllerConnectionsReply bsnControllerConnectionsReply(List<OFBsnControllerConnection> connections) {
+        return new OFBsnControllerConnectionsReplyVer13(
+                nextXid(),
+                      connections
+                    );
+    }
+
+    public OFBsnControllerConnectionsRequest.Builder buildBsnControllerConnectionsRequest() {
+        return new OFBsnControllerConnectionsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnControllerConnectionsRequest bsnControllerConnectionsRequest() {
+        return new OFBsnControllerConnectionsRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnDebugCounterDescStatsEntry.Builder buildBsnDebugCounterDescStatsEntry() {
+        return new OFBsnDebugCounterDescStatsEntryVer13.Builder();
+    }
+
+    public OFBsnDebugCounterDescStatsReply.Builder buildBsnDebugCounterDescStatsReply() {
+        return new OFBsnDebugCounterDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnDebugCounterDescStatsRequest.Builder buildBsnDebugCounterDescStatsRequest() {
+        return new OFBsnDebugCounterDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnDebugCounterDescStatsRequest bsnDebugCounterDescStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnDebugCounterDescStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnDebugCounterStatsEntry.Builder buildBsnDebugCounterStatsEntry() {
+        return new OFBsnDebugCounterStatsEntryVer13.Builder();
+    }
+    public OFBsnDebugCounterStatsEntry bsnDebugCounterStatsEntry(U64 counterId, U64 value) {
+        return new OFBsnDebugCounterStatsEntryVer13(
+                counterId,
+                      value
+                    );
+    }
+
+    public OFBsnDebugCounterStatsReply.Builder buildBsnDebugCounterStatsReply() {
+        return new OFBsnDebugCounterStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnDebugCounterStatsRequest.Builder buildBsnDebugCounterStatsRequest() {
+        return new OFBsnDebugCounterStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnDebugCounterStatsRequest bsnDebugCounterStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnDebugCounterStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnFlowChecksumBucketStatsEntry.Builder buildBsnFlowChecksumBucketStatsEntry() {
+        return new OFBsnFlowChecksumBucketStatsEntryVer13.Builder();
+    }
+    public OFBsnFlowChecksumBucketStatsEntry bsnFlowChecksumBucketStatsEntry(U64 checksum) {
+        return new OFBsnFlowChecksumBucketStatsEntryVer13(
+                checksum
+                    );
+    }
+
+    public OFBsnFlowChecksumBucketStatsReply.Builder buildBsnFlowChecksumBucketStatsReply() {
+        return new OFBsnFlowChecksumBucketStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnFlowChecksumBucketStatsRequest.Builder buildBsnFlowChecksumBucketStatsRequest() {
+        return new OFBsnFlowChecksumBucketStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnFlowIdle.Builder buildBsnFlowIdle() {
+        return new OFBsnFlowIdleVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnFlowIdleEnableGetReply.Builder buildBsnFlowIdleEnableGetReply() {
+        return new OFBsnFlowIdleEnableGetReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnFlowIdleEnableGetReply bsnFlowIdleEnableGetReply(long enabled) {
+        return new OFBsnFlowIdleEnableGetReplyVer13(
+                nextXid(),
+                      enabled
+                    );
+    }
+
+    public OFBsnFlowIdleEnableGetRequest.Builder buildBsnFlowIdleEnableGetRequest() {
+        return new OFBsnFlowIdleEnableGetRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnFlowIdleEnableGetRequest bsnFlowIdleEnableGetRequest() {
+        return new OFBsnFlowIdleEnableGetRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnFlowIdleEnableSetReply.Builder buildBsnFlowIdleEnableSetReply() {
+        return new OFBsnFlowIdleEnableSetReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnFlowIdleEnableSetRequest.Builder buildBsnFlowIdleEnableSetRequest() {
+        return new OFBsnFlowIdleEnableSetRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnFlowIdleEnableSetRequest bsnFlowIdleEnableSetRequest(long enable) {
+        return new OFBsnFlowIdleEnableSetRequestVer13(
+                nextXid(),
+                      enable
+                    );
+    }
+
+    public OFBsnGentableBucketStatsEntry.Builder buildBsnGentableBucketStatsEntry() {
+        return new OFBsnGentableBucketStatsEntryVer13.Builder();
+    }
+    public OFBsnGentableBucketStatsEntry bsnGentableBucketStatsEntry(U128 checksum) {
+        return new OFBsnGentableBucketStatsEntryVer13(
+                checksum
+                    );
+    }
+
+    public OFBsnGentableBucketStatsReply.Builder buildBsnGentableBucketStatsReply() {
+        return new OFBsnGentableBucketStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableBucketStatsRequest.Builder buildBsnGentableBucketStatsRequest() {
+        return new OFBsnGentableBucketStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableClearReply.Builder buildBsnGentableClearReply() {
+        return new OFBsnGentableClearReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableClearRequest.Builder buildBsnGentableClearRequest() {
+        return new OFBsnGentableClearRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableDescStatsEntry.Builder buildBsnGentableDescStatsEntry() {
+        return new OFBsnGentableDescStatsEntryVer13.Builder();
+    }
+
+    public OFBsnGentableDescStatsReply.Builder buildBsnGentableDescStatsReply() {
+        return new OFBsnGentableDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableDescStatsRequest.Builder buildBsnGentableDescStatsRequest() {
+        return new OFBsnGentableDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGentableDescStatsRequest bsnGentableDescStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnGentableDescStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnGentableEntryAdd.Builder buildBsnGentableEntryAdd() {
+        return new OFBsnGentableEntryAddVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableEntryDelete.Builder buildBsnGentableEntryDelete() {
+        return new OFBsnGentableEntryDeleteVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableEntryDescStatsEntry.Builder buildBsnGentableEntryDescStatsEntry() {
+        return new OFBsnGentableEntryDescStatsEntryVer13.Builder();
+    }
+
+    public OFBsnGentableEntryDescStatsReply.Builder buildBsnGentableEntryDescStatsReply() {
+        return new OFBsnGentableEntryDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableEntryDescStatsRequest.Builder buildBsnGentableEntryDescStatsRequest() {
+        return new OFBsnGentableEntryDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableEntryStatsEntry.Builder buildBsnGentableEntryStatsEntry() {
+        return new OFBsnGentableEntryStatsEntryVer13.Builder();
+    }
+    public OFBsnGentableEntryStatsEntry bsnGentableEntryStatsEntry(List<OFBsnTlv> key, List<OFBsnTlv> stats) {
+        return new OFBsnGentableEntryStatsEntryVer13(
+                key,
+                      stats
+                    );
+    }
+
+    public OFBsnGentableEntryStatsReply.Builder buildBsnGentableEntryStatsReply() {
+        return new OFBsnGentableEntryStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableEntryStatsRequest.Builder buildBsnGentableEntryStatsRequest() {
+        return new OFBsnGentableEntryStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableSetBucketsSize.Builder buildBsnGentableSetBucketsSize() {
+        return new OFBsnGentableSetBucketsSizeVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableStatsEntry.Builder buildBsnGentableStatsEntry() {
+        return new OFBsnGentableStatsEntryVer13.Builder();
+    }
+
+    public OFBsnGentableStatsReply.Builder buildBsnGentableStatsReply() {
+        return new OFBsnGentableStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnGentableStatsRequest.Builder buildBsnGentableStatsRequest() {
+        return new OFBsnGentableStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGentableStatsRequest bsnGentableStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnGentableStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnGetSwitchPipelineReply.Builder buildBsnGetSwitchPipelineReply() {
+        return new OFBsnGetSwitchPipelineReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGetSwitchPipelineReply bsnGetSwitchPipelineReply(String pipeline) {
+        return new OFBsnGetSwitchPipelineReplyVer13(
+                nextXid(),
+                      pipeline
+                    );
+    }
+
+    public OFBsnGetSwitchPipelineRequest.Builder buildBsnGetSwitchPipelineRequest() {
+        return new OFBsnGetSwitchPipelineRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnGetSwitchPipelineRequest bsnGetSwitchPipelineRequest() {
+        return new OFBsnGetSwitchPipelineRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnImageDescStatsReply.Builder buildBsnImageDescStatsReply() {
+        return new OFBsnImageDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnImageDescStatsRequest.Builder buildBsnImageDescStatsRequest() {
+        return new OFBsnImageDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnImageDescStatsRequest bsnImageDescStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnImageDescStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnLacpConvergenceNotif.Builder buildBsnLacpConvergenceNotif() {
+        return new OFBsnLacpConvergenceNotifVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnLacpStatsEntry.Builder buildBsnLacpStatsEntry() {
+        return new OFBsnLacpStatsEntryVer13.Builder();
+    }
+
+    public OFBsnLacpStatsReply.Builder buildBsnLacpStatsReply() {
+        return new OFBsnLacpStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnLacpStatsRequest.Builder buildBsnLacpStatsRequest() {
+        return new OFBsnLacpStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnLacpStatsRequest bsnLacpStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnLacpStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnLog.Builder buildBsnLog() {
+        return new OFBsnLogVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnPortCounterStatsEntry.Builder buildBsnPortCounterStatsEntry() {
+        return new OFBsnPortCounterStatsEntryVer13.Builder();
+    }
+    public OFBsnPortCounterStatsEntry bsnPortCounterStatsEntry(OFPort portNo, List<U64> values) {
+        return new OFBsnPortCounterStatsEntryVer13(
+                portNo,
+                      values
+                    );
+    }
+
+    public OFBsnPortCounterStatsReply.Builder buildBsnPortCounterStatsReply() {
+        return new OFBsnPortCounterStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnPortCounterStatsRequest.Builder buildBsnPortCounterStatsRequest() {
+        return new OFBsnPortCounterStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnRoleStatus.Builder buildBsnRoleStatus() {
+        return new OFBsnRoleStatusVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnSetAuxCxnsReply.Builder buildBsnSetAuxCxnsReply() {
+        return new OFBsnSetAuxCxnsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnSetAuxCxnsRequest.Builder buildBsnSetAuxCxnsRequest() {
+        return new OFBsnSetAuxCxnsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnSetAuxCxnsRequest bsnSetAuxCxnsRequest(long numAux) {
+        return new OFBsnSetAuxCxnsRequestVer13(
+                nextXid(),
+                      numAux
+                    );
+    }
+
+    public OFBsnSetLacpReply.Builder buildBsnSetLacpReply() {
+        return new OFBsnSetLacpReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnSetLacpRequest.Builder buildBsnSetLacpRequest() {
+        return new OFBsnSetLacpRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnSetSwitchPipelineReply.Builder buildBsnSetSwitchPipelineReply() {
+        return new OFBsnSetSwitchPipelineReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnSetSwitchPipelineReply bsnSetSwitchPipelineReply(long status) {
+        return new OFBsnSetSwitchPipelineReplyVer13(
+                nextXid(),
+                      status
+                    );
+    }
+
+    public OFBsnSetSwitchPipelineRequest.Builder buildBsnSetSwitchPipelineRequest() {
+        return new OFBsnSetSwitchPipelineRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnSetSwitchPipelineRequest bsnSetSwitchPipelineRequest(String pipeline) {
+        return new OFBsnSetSwitchPipelineRequestVer13(
+                nextXid(),
+                      pipeline
+                    );
+    }
+
+    public OFBsnSwitchPipelineStatsEntry.Builder buildBsnSwitchPipelineStatsEntry() {
+        return new OFBsnSwitchPipelineStatsEntryVer13.Builder();
+    }
+    public OFBsnSwitchPipelineStatsEntry bsnSwitchPipelineStatsEntry(String pipeline) {
+        return new OFBsnSwitchPipelineStatsEntryVer13(
+                pipeline
+                    );
+    }
+
+    public OFBsnSwitchPipelineStatsReply.Builder buildBsnSwitchPipelineStatsReply() {
+        return new OFBsnSwitchPipelineStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnSwitchPipelineStatsRequest.Builder buildBsnSwitchPipelineStatsRequest() {
+        return new OFBsnSwitchPipelineStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnSwitchPipelineStatsRequest bsnSwitchPipelineStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnSwitchPipelineStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnTableChecksumStatsEntry.Builder buildBsnTableChecksumStatsEntry() {
+        return new OFBsnTableChecksumStatsEntryVer13.Builder();
+    }
+    public OFBsnTableChecksumStatsEntry bsnTableChecksumStatsEntry(TableId tableId, U64 checksum) {
+        return new OFBsnTableChecksumStatsEntryVer13(
+                tableId,
+                      checksum
+                    );
+    }
+
+    public OFBsnTableChecksumStatsReply.Builder buildBsnTableChecksumStatsReply() {
+        return new OFBsnTableChecksumStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnTableChecksumStatsRequest.Builder buildBsnTableChecksumStatsRequest() {
+        return new OFBsnTableChecksumStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnTableChecksumStatsRequest bsnTableChecksumStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFBsnTableChecksumStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFBsnTableSetBucketsSize.Builder buildBsnTableSetBucketsSize() {
+        return new OFBsnTableSetBucketsSizeVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnTimeReply.Builder buildBsnTimeReply() {
+        return new OFBsnTimeReplyVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnTimeReply bsnTimeReply(U64 timeMs) {
+        return new OFBsnTimeReplyVer13(
+                nextXid(),
+                      timeMs
+                    );
+    }
+
+    public OFBsnTimeRequest.Builder buildBsnTimeRequest() {
+        return new OFBsnTimeRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFBsnTimeRequest bsnTimeRequest() {
+        return new OFBsnTimeRequestVer13(
+                nextXid()
+                    );
+    }
+
+    public OFBsnVlanCounterStatsEntry.Builder buildBsnVlanCounterStatsEntry() {
+        return new OFBsnVlanCounterStatsEntryVer13.Builder();
+    }
+    public OFBsnVlanCounterStatsEntry bsnVlanCounterStatsEntry(int vlanVid, List<U64> values) {
+        return new OFBsnVlanCounterStatsEntryVer13(
+                vlanVid,
+                      values
+                    );
+    }
+
+    public OFBsnVlanCounterStatsReply.Builder buildBsnVlanCounterStatsReply() {
+        return new OFBsnVlanCounterStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnVlanCounterStatsRequest.Builder buildBsnVlanCounterStatsRequest() {
+        return new OFBsnVlanCounterStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnVrfCounterStatsEntry.Builder buildBsnVrfCounterStatsEntry() {
+        return new OFBsnVrfCounterStatsEntryVer13.Builder();
+    }
+    public OFBsnVrfCounterStatsEntry bsnVrfCounterStatsEntry(long vrf, List<U64> values) {
+        return new OFBsnVrfCounterStatsEntryVer13(
+                vrf,
+                      values
+                    );
+    }
+
+    public OFBsnVrfCounterStatsReply.Builder buildBsnVrfCounterStatsReply() {
+        return new OFBsnVrfCounterStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFBsnVrfCounterStatsRequest.Builder buildBsnVrfCounterStatsRequest() {
+        return new OFBsnVrfCounterStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFHelloElemVersionbitmap.Builder buildHelloElemVersionbitmap() {
+        return new OFHelloElemVersionbitmapVer13.Builder();
+    }
+    public OFHelloElemVersionbitmap helloElemVersionbitmap(List<U32> bitmaps) {
+        return new OFHelloElemVersionbitmapVer13(
+                bitmaps
+                    );
+    }
+
+    public OFMeterBandStats.Builder buildMeterBandStats() {
+        return new OFMeterBandStatsVer13.Builder();
+    }
+    public OFMeterBandStats meterBandStats(U64 packetBandCount, U64 byteBandCount) {
+        return new OFMeterBandStatsVer13(
+                packetBandCount,
+                      byteBandCount
+                    );
+    }
+
+    public OFMeterConfig.Builder buildMeterConfig() {
+        return new OFMeterConfigVer13.Builder();
+    }
+
+    public OFMeterConfigStatsReply.Builder buildMeterConfigStatsReply() {
+        return new OFMeterConfigStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFMeterConfigStatsRequest.Builder buildMeterConfigStatsRequest() {
+        return new OFMeterConfigStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFMeterFeatures.Builder buildMeterFeatures() {
+        return new OFMeterFeaturesVer13.Builder();
+    }
+
+    public OFMeterFeaturesStatsReply.Builder buildMeterFeaturesStatsReply() {
+        return new OFMeterFeaturesStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFMeterFeaturesStatsRequest.Builder buildMeterFeaturesStatsRequest() {
+        return new OFMeterFeaturesStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFMeterFeaturesStatsRequest meterFeaturesStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFMeterFeaturesStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFMeterMod.Builder buildMeterMod() {
+        return new OFMeterModVer13.Builder().setXid(nextXid());
+    }
+
+    public OFMeterStats.Builder buildMeterStats() {
+        return new OFMeterStatsVer13.Builder();
+    }
+
+    public OFMeterStatsReply.Builder buildMeterStatsReply() {
+        return new OFMeterStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFMeterStatsRequest.Builder buildMeterStatsRequest() {
+        return new OFMeterStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPortDescStatsReply.Builder buildPortDescStatsReply() {
+        return new OFPortDescStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFPortDescStatsRequest.Builder buildPortDescStatsRequest() {
+        return new OFPortDescStatsRequestVer13.Builder().setXid(nextXid());
+    }
+    public OFPortDescStatsRequest portDescStatsRequest(Set<OFStatsRequestFlags> flags) {
+        return new OFPortDescStatsRequestVer13(
+                nextXid(),
+                      flags
+                    );
+    }
+
+    public OFTableFeaturePropApplyActions.Builder buildTableFeaturePropApplyActions() {
+        return new OFTableFeaturePropApplyActionsVer13.Builder();
+    }
+    public OFTableFeaturePropApplyActions tableFeaturePropApplyActions(List<OFActionId> actionIds) {
+        return new OFTableFeaturePropApplyActionsVer13(
+                actionIds
+                    );
+    }
+
+    public OFTableFeaturePropApplyActionsMiss.Builder buildTableFeaturePropApplyActionsMiss() {
+        return new OFTableFeaturePropApplyActionsMissVer13.Builder();
+    }
+    public OFTableFeaturePropApplyActionsMiss tableFeaturePropApplyActionsMiss(List<OFActionId> actionIds) {
+        return new OFTableFeaturePropApplyActionsMissVer13(
+                actionIds
+                    );
+    }
+
+    public OFTableFeaturePropApplySetfield.Builder buildTableFeaturePropApplySetfield() {
+        return new OFTableFeaturePropApplySetfieldVer13.Builder();
+    }
+    public OFTableFeaturePropApplySetfield tableFeaturePropApplySetfield(List<U32> oxmIds) {
+        return new OFTableFeaturePropApplySetfieldVer13(
+                oxmIds
+                    );
+    }
+
+    public OFTableFeaturePropApplySetfieldMiss.Builder buildTableFeaturePropApplySetfieldMiss() {
+        return new OFTableFeaturePropApplySetfieldMissVer13.Builder();
+    }
+    public OFTableFeaturePropApplySetfieldMiss tableFeaturePropApplySetfieldMiss(List<U32> oxmIds) {
+        return new OFTableFeaturePropApplySetfieldMissVer13(
+                oxmIds
+                    );
+    }
+
+    public OFTableFeaturePropExperimenter.Builder buildTableFeaturePropExperimenter() {
+        return new OFTableFeaturePropExperimenterVer13.Builder();
+    }
+
+    public OFTableFeaturePropExperimenterMiss.Builder buildTableFeaturePropExperimenterMiss() {
+        return new OFTableFeaturePropExperimenterMissVer13.Builder();
+    }
+
+    public OFTableFeaturePropInstructions.Builder buildTableFeaturePropInstructions() {
+        return new OFTableFeaturePropInstructionsVer13.Builder();
+    }
+    public OFTableFeaturePropInstructions tableFeaturePropInstructions(List<OFInstructionId> instructionIds) {
+        return new OFTableFeaturePropInstructionsVer13(
+                instructionIds
+                    );
+    }
+
+    public OFTableFeaturePropInstructionsMiss.Builder buildTableFeaturePropInstructionsMiss() {
+        return new OFTableFeaturePropInstructionsMissVer13.Builder();
+    }
+    public OFTableFeaturePropInstructionsMiss tableFeaturePropInstructionsMiss(List<OFInstructionId> instructionIds) {
+        return new OFTableFeaturePropInstructionsMissVer13(
+                instructionIds
+                    );
+    }
+
+    public OFTableFeaturePropMatch.Builder buildTableFeaturePropMatch() {
+        return new OFTableFeaturePropMatchVer13.Builder();
+    }
+    public OFTableFeaturePropMatch tableFeaturePropMatch(List<U32> oxmIds) {
+        return new OFTableFeaturePropMatchVer13(
+                oxmIds
+                    );
+    }
+
+    public OFTableFeaturePropNextTables.Builder buildTableFeaturePropNextTables() {
+        return new OFTableFeaturePropNextTablesVer13.Builder();
+    }
+    public OFTableFeaturePropNextTables tableFeaturePropNextTables(List<U8> nextTableIds) {
+        return new OFTableFeaturePropNextTablesVer13(
+                nextTableIds
+                    );
+    }
+
+    public OFTableFeaturePropNextTablesMiss.Builder buildTableFeaturePropNextTablesMiss() {
+        return new OFTableFeaturePropNextTablesMissVer13.Builder();
+    }
+    public OFTableFeaturePropNextTablesMiss tableFeaturePropNextTablesMiss(List<U8> nextTableIds) {
+        return new OFTableFeaturePropNextTablesMissVer13(
+                nextTableIds
+                    );
+    }
+
+    public OFTableFeaturePropWildcards.Builder buildTableFeaturePropWildcards() {
+        return new OFTableFeaturePropWildcardsVer13.Builder();
+    }
+    public OFTableFeaturePropWildcards tableFeaturePropWildcards(List<U32> oxmIds) {
+        return new OFTableFeaturePropWildcardsVer13(
+                oxmIds
+                    );
+    }
+
+    public OFTableFeaturePropWriteActions.Builder buildTableFeaturePropWriteActions() {
+        return new OFTableFeaturePropWriteActionsVer13.Builder();
+    }
+    public OFTableFeaturePropWriteActions tableFeaturePropWriteActions(List<OFActionId> actionIds) {
+        return new OFTableFeaturePropWriteActionsVer13(
+                actionIds
+                    );
+    }
+
+    public OFTableFeaturePropWriteActionsMiss.Builder buildTableFeaturePropWriteActionsMiss() {
+        return new OFTableFeaturePropWriteActionsMissVer13.Builder();
+    }
+    public OFTableFeaturePropWriteActionsMiss tableFeaturePropWriteActionsMiss(List<OFActionId> actionIds) {
+        return new OFTableFeaturePropWriteActionsMissVer13(
+                actionIds
+                    );
+    }
+
+    public OFTableFeaturePropWriteSetfield.Builder buildTableFeaturePropWriteSetfield() {
+        return new OFTableFeaturePropWriteSetfieldVer13.Builder();
+    }
+    public OFTableFeaturePropWriteSetfield tableFeaturePropWriteSetfield(List<U32> oxmIds) {
+        return new OFTableFeaturePropWriteSetfieldVer13(
+                oxmIds
+                    );
+    }
+
+    public OFTableFeaturePropWriteSetfieldMiss.Builder buildTableFeaturePropWriteSetfieldMiss() {
+        return new OFTableFeaturePropWriteSetfieldMissVer13.Builder();
+    }
+    public OFTableFeaturePropWriteSetfieldMiss tableFeaturePropWriteSetfieldMiss(List<U32> oxmIds) {
+        return new OFTableFeaturePropWriteSetfieldMissVer13(
+                oxmIds
+                    );
+    }
+
+    public OFTableFeatures.Builder buildTableFeatures() {
+        return new OFTableFeaturesVer13.Builder();
+    }
+
+    public OFTableFeaturesStatsReply.Builder buildTableFeaturesStatsReply() {
+        return new OFTableFeaturesStatsReplyVer13.Builder().setXid(nextXid());
+    }
+
+    public OFTableFeaturesStatsRequest.Builder buildTableFeaturesStatsRequest() {
+        return new OFTableFeaturesStatsRequestVer13.Builder().setXid(nextXid());
+    }
+
+    public OFUint64.Builder buildUint64() {
+        return new OFUint64Ver13.Builder();
+    }
+    public OFUint64 uint64(U64 value) {
+        return new OFUint64Ver13(
+                value
+                    );
+    }
+
+    public OFMessageReader<OFMessage> getReader() {
+        return OFMessageVer13.READER;
+    }
+
+    public long nextXid() {
+        return xidGenerator.nextXid();
+    }
+
+    public OFVersion getVersion() {
+            return OFVersion.OF_13;
+    }
+}