Bump upstreams
[openflowplugin.git] / openflowjava / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / MultipartReplyMessageFactoryTest.java
index 72d6d88bc48585482026b02c031eeb8adc6ccbbb..5585072ad460df05da7ac746cad4e755d9d6485c 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.UnpooledByteBufAllocator;
-import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
 import org.junit.Assert;
@@ -22,17 +21,13 @@ import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl;
 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
 import org.opendaylight.openflowjava.util.ByteBufUtils;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.IetfYangUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ActionRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ActionRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.InstructionRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.InstructionRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.NextTableRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.NextTableRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.OxmRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.OxmRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.table.features.properties.container.table.feature.properties.NextTableIds;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.table.features.properties.container.table.feature.properties.NextTableIdsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.next.table.related.table.feature.property.NextTableIdsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.OutputActionCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopPbbCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushVlanCaseBuilder;
@@ -176,6 +171,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features.TableFeaturesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeaturePropertiesBuilder;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint64;
+import org.opendaylight.yangtools.yang.common.Uint8;
 
 /**
  * Unit tests for MultipartReplyMessageFactory.
@@ -189,11 +188,11 @@ public class MultipartReplyMessageFactoryTest {
     private OFSerializer<MultipartReplyMessage> factory;
 
     @Before
-    public void startUp() throws Exception {
+    public void startUp() {
         SerializerRegistry registry = new SerializerRegistryImpl();
         registry.init();
         factory = registry
-                .getSerializer(new MessageTypeKey<>(EncodeConstants.OF13_VERSION_ID, MultipartReplyMessage.class));
+                .getSerializer(new MessageTypeKey<>(EncodeConstants.OF_VERSION_1_3, MultipartReplyMessage.class));
     }
 
     @Test
@@ -206,28 +205,24 @@ public class MultipartReplyMessageFactoryTest {
         final MultipartReplyTableFeaturesBuilder featuresBuilder = new MultipartReplyTableFeaturesBuilder();
         final List<TableFeatures> tableFeaturesList = new ArrayList<>();
         TableFeaturesBuilder tableFeaturesBuilder = new TableFeaturesBuilder();
-        tableFeaturesBuilder.setTableId((short) 8);
+        tableFeaturesBuilder.setTableId(Uint8.valueOf(8));
         tableFeaturesBuilder.setName("AAAABBBBCCCCDDDDEEEEFFFFGGGG");
         tableFeaturesBuilder.setMetadataMatch(new byte[] { 0x00, 0x01, 0x02, 0x03, 0x01, 0x04, 0x08, 0x01 });
         tableFeaturesBuilder.setMetadataWrite(new byte[] { 0x00, 0x07, 0x01, 0x05, 0x01, 0x00, 0x03, 0x01 });
         tableFeaturesBuilder.setConfig(new TableConfig(true));
-        tableFeaturesBuilder.setMaxEntries(65L);
+        tableFeaturesBuilder.setMaxEntries(Uint32.valueOf(65));
         TableFeaturePropertiesBuilder propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLES);
-        NextTableRelatedTableFeaturePropertyBuilder nextPropBuilder = new NextTableRelatedTableFeaturePropertyBuilder();
-        List<NextTableIds> nextIds = new ArrayList<>();
-        nextIds.add(new NextTableIdsBuilder().setTableId((short) 1).build());
-        nextIds.add(new NextTableIdsBuilder().setTableId((short) 2).build());
-        nextPropBuilder.setNextTableIds(nextIds);
-        propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());
+        propBuilder.addAugmentation(new NextTableRelatedTableFeaturePropertyBuilder()
+            .setNextTableIds(List.of(
+                new NextTableIdsBuilder().setTableId(Uint8.ONE).build(),
+                new NextTableIdsBuilder().setTableId(Uint8.TWO).build()))
+            .build());
         List<TableFeatureProperties> properties = new ArrayList<>();
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLESMISS);
-        nextPropBuilder = new NextTableRelatedTableFeaturePropertyBuilder();
-        nextIds = new ArrayList<>();
-        nextPropBuilder.setNextTableIds(nextIds);
-        propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());
+        propBuilder.addAugmentation(new NextTableRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONS);
@@ -238,14 +233,10 @@ public class MultipartReplyMessageFactoryTest {
         insBuilder = new InstructionBuilder();
         insBuilder.setInstructionChoice(new GotoTableCaseBuilder().build());
         insIds.add(insBuilder.build());
-        InstructionRelatedTableFeaturePropertyBuilder insPropBuilder =
-                new InstructionRelatedTableFeaturePropertyBuilder();
-        insPropBuilder.setInstruction(insIds);
-        propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());
+        propBuilder.addAugmentation(new InstructionRelatedTableFeaturePropertyBuilder().setInstruction(insIds).build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONSMISS);
-        insPropBuilder = new InstructionRelatedTableFeaturePropertyBuilder();
         insIds = new ArrayList<>();
         insBuilder = new InstructionBuilder();
         insBuilder.setInstructionChoice(new WriteMetadataCaseBuilder().build());
@@ -262,113 +253,85 @@ public class MultipartReplyMessageFactoryTest {
         insBuilder = new InstructionBuilder();
         insBuilder.setInstructionChoice(new GotoTableCaseBuilder().build());
         insIds.add(insBuilder.build());
-        insPropBuilder.setInstruction(insIds);
-        propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());
+        propBuilder.addAugmentation(new InstructionRelatedTableFeaturePropertyBuilder().setInstruction(insIds).build());
         properties.add(propBuilder.build());
         tableFeaturesBuilder.setTableFeatureProperties(properties);
         tableFeaturesList.add(tableFeaturesBuilder.build());
         tableFeaturesBuilder = new TableFeaturesBuilder();
-        tableFeaturesBuilder.setTableId((short) 8);
+        tableFeaturesBuilder.setTableId(Uint8.valueOf(8));
         tableFeaturesBuilder.setName("AAAABBBBCCCCDDDDEEEEFFFFGGGG");
         byte[] metadataMatch = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x01, 0x04, 0x08, 0x01 };
         tableFeaturesBuilder.setMetadataMatch(metadataMatch);
         byte[] metadataWrite = new byte[] { 0x00, 0x07, 0x01, 0x05, 0x01, 0x00, 0x03, 0x01 };
         tableFeaturesBuilder.setMetadataWrite(metadataWrite);
         tableFeaturesBuilder.setConfig(new TableConfig(true));
-        tableFeaturesBuilder.setMaxEntries(67L);
+        tableFeaturesBuilder.setMaxEntries(Uint32.valueOf(67));
         properties = new ArrayList<>();
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITEACTIONS);
-        ActionRelatedTableFeaturePropertyBuilder actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
         List<Action> actions = new ArrayList<>();
         ActionBuilder actionBuilder = new ActionBuilder();
         actionBuilder.setActionChoice(new OutputActionCaseBuilder().build());
         actions.add(actionBuilder.build());
-        actBuilder.setAction(actions);
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().setAction(actions).build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITEACTIONSMISS);
-        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
-        actions = new ArrayList<>();
-        actBuilder.setAction(actions);
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYACTIONS);
-        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
-        actions = new ArrayList<>();
-        actBuilder.setAction(actions);
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYACTIONSMISS);
-        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
-        actions = new ArrayList<>();
-        actBuilder.setAction(actions);
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTMATCH);
         MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(InPhyPort.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(InPhyPort.VALUE);
         entriesBuilder.setHasMask(false);
         List<MatchEntry> entries = new ArrayList<>();
         entries.add(entriesBuilder.build());
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(InPort.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(InPort.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
-        OxmRelatedTableFeaturePropertyBuilder oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWILDCARDS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        entries = new ArrayList<>();
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELD);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        entries = new ArrayList<>();
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELDMISS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        entries = new ArrayList<>();
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELD);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
         entries = new ArrayList<>();
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(IpProto.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(IpProto.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(IpEcn.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(IpEcn.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELDMISS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        entries = new ArrayList<>();
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
         tableFeaturesBuilder.setTableFeatureProperties(properties);
         tableFeaturesList.add(tableFeaturesBuilder.build());
@@ -518,7 +481,7 @@ public class MultipartReplyMessageFactoryTest {
         byte[] address = new byte[6];
         serializedBuffer.readBytes(address);
         Assert.assertEquals("Wrong MacAddress", port.getHwAddr().getValue().toLowerCase(),
-                new MacAddress(ByteBufUtils.macAddressToString(address)).getValue().toLowerCase());
+                IetfYangUtil.macAddressFor(address).getValue().toLowerCase());
         serializedBuffer.skipBytes(2);
         byte[] name = new byte[16];
         serializedBuffer.readBytes(name);
@@ -543,11 +506,11 @@ public class MultipartReplyMessageFactoryTest {
         builder.setType(MultipartType.forValue(11));
         final MultipartReplyMeterFeaturesCaseBuilder meterFeaturesCase = new MultipartReplyMeterFeaturesCaseBuilder();
         MultipartReplyMeterFeaturesBuilder meterFeatures = new MultipartReplyMeterFeaturesBuilder();
-        meterFeatures.setMaxMeter(1L);
+        meterFeatures.setMaxMeter(Uint32.ONE);
         meterFeatures.setBandTypes(new MeterBandTypeBitmap(true, false));
         meterFeatures.setCapabilities(new MeterFlags(true, false, true, false));
-        meterFeatures.setMaxBands((short) 1);
-        meterFeatures.setMaxColor((short) 1);
+        meterFeatures.setMaxBands(Uint8.ONE);
+        meterFeatures.setMaxColor(Uint8.ONE);
         meterFeaturesCase.setMultipartReplyMeterFeatures(meterFeatures.build());
         builder.setMultipartReplyBody(meterFeaturesCase.build());
         MultipartReplyMessage message = builder.build();
@@ -650,11 +613,11 @@ public class MultipartReplyMessageFactoryTest {
         MultipartReplyGroupFeaturesBuilder feature = new MultipartReplyGroupFeaturesBuilder();
         feature.setTypes(new GroupTypes(true, false, true, false));
         feature.setCapabilities(new GroupCapabilities(true, false, true, true));
-        List<Long> maxGroups = new ArrayList<>();
-        maxGroups.add(1L);
-        maxGroups.add(2L);
-        maxGroups.add(3L);
-        maxGroups.add(4L);
+        List<Uint32> maxGroups = new ArrayList<>();
+        maxGroups.add(Uint32.valueOf(1));
+        maxGroups.add(Uint32.valueOf(2));
+        maxGroups.add(Uint32.valueOf(3));
+        maxGroups.add(Uint32.valueOf(4));
         feature.setMaxGroups(maxGroups);
         feature.setActionsBitmap(createActionType());
         featureCase.setMultipartReplyGroupFeatures(feature.build());
@@ -892,9 +855,9 @@ public class MultipartReplyMessageFactoryTest {
         builder.setType(MultipartType.forValue(2));
         final MultipartReplyAggregateCaseBuilder aggregateCase = new MultipartReplyAggregateCaseBuilder();
         MultipartReplyAggregateBuilder aggregate = new MultipartReplyAggregateBuilder();
-        aggregate.setPacketCount(BigInteger.valueOf(1L));
-        aggregate.setByteCount(BigInteger.valueOf(1L));
-        aggregate.setFlowCount(1L);
+        aggregate.setPacketCount(Uint64.ONE);
+        aggregate.setByteCount(Uint64.ONE);
+        aggregate.setFlowCount(Uint32.ONE);
         aggregateCase.setMultipartReplyAggregate(aggregate.build());
         builder.setMultipartReplyBody(aggregateCase.build());
         MultipartReplyMessage message = builder.build();
@@ -962,7 +925,7 @@ public class MultipartReplyMessageFactoryTest {
         Assert.assertEquals("Wrong desc body", message.getMultipartReplyBody(), decodeDescBody(serializedBuffer));
     }
 
-    private static void testFlowBody(MultipartReplyBody body, ByteBuf output) {
+    private static void testFlowBody(final MultipartReplyBody body, final ByteBuf output) {
         MultipartReplyFlowCase flowCase = (MultipartReplyFlowCase) body;
         MultipartReplyFlow flow = flowCase.getMultipartReplyFlow();
         FlowStats flowStats = flow.getFlowStats().get(0);
@@ -979,18 +942,18 @@ public class MultipartReplyMessageFactoryTest {
         Assert.assertEquals("Wrong Packet count", flowStats.getPacketCount().longValue(), output.readLong());
         Assert.assertEquals("Wrong Byte count", flowStats.getByteCount().longValue(), output.readLong());
         Assert.assertEquals("Wrong match type", 1, output.readUnsignedShort());
-        output.skipBytes(EncodeConstants.SIZE_OF_SHORT_IN_BYTES);
+        output.skipBytes(Short.BYTES);
         Assert.assertEquals("Wrong oxm class", 0x8000, output.readUnsignedShort());
         short fieldAndMask = output.readUnsignedByte();
         Assert.assertEquals("Wrong oxm hasMask", 0, fieldAndMask & 1);
         Assert.assertEquals("Wrong oxm field", 1, fieldAndMask >> 1);
-        output.skipBytes(EncodeConstants.SIZE_OF_BYTE_IN_BYTES);
+        output.skipBytes(Byte.BYTES);
         Assert.assertEquals("Wrong oxm value", 42, output.readUnsignedInt());
         Assert.assertEquals("Wrong oxm class", 0x8000, output.readUnsignedShort());
         fieldAndMask = output.readUnsignedByte();
         Assert.assertEquals("Wrong oxm hasMask", 0, fieldAndMask & 1);
         Assert.assertEquals("Wrong oxm field", 9, fieldAndMask >> 1);
-        output.skipBytes(EncodeConstants.SIZE_OF_BYTE_IN_BYTES);
+        output.skipBytes(Byte.BYTES);
         Assert.assertEquals("Wrong oxm value", 4, output.readUnsignedByte());
         output.skipBytes(7);
         Assert.assertEquals("Wrong instruction type", 1, output.readUnsignedShort());
@@ -1041,7 +1004,7 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<Ports> createPortList() {
         PortsBuilder builder = new PortsBuilder();
-        builder.setPortNo(1L);
+        builder.setPortNo(Uint32.ONE);
         builder.setHwAddr(new MacAddress("94:de:80:a6:61:40"));
         builder.setName("Port name");
         builder.setConfig(new PortConfig(true, false, true, false));
@@ -1054,14 +1017,14 @@ public class MultipartReplyMessageFactoryTest {
                 true, false, true, false, true, false));
         builder.setPeerFeatures(new PortFeatures(true, false, true, false, true, false, true, false, true, false, true,
                 false, true, false, true, false));
-        builder.setCurrSpeed(1234L);
-        builder.setMaxSpeed(1234L);
+        builder.setCurrSpeed(Uint32.valueOf(1234));
+        builder.setMaxSpeed(Uint32.valueOf(1234));
         List<Ports> list = new ArrayList<>();
         list.add(builder.build());
         return list;
     }
 
-    private static PortConfig createPortConfig(long input) {
+    private static PortConfig createPortConfig(final long input) {
         final Boolean _portDown = (input & 1 << 0) > 0;
         final Boolean _noRecv = (input & 1 << 2) > 0;
         final Boolean _noFwd = (input & 1 << 5) > 0;
@@ -1069,7 +1032,7 @@ public class MultipartReplyMessageFactoryTest {
         return new PortConfig(_noFwd, _noPacketIn, _noRecv, _portDown);
     }
 
-    private static PortFeatures createPortFeatures(long input) {
+    private static PortFeatures createPortFeatures(final long input) {
         final Boolean _10mbHd = (input & 1 << 0) > 0;
         final Boolean _10mbFd = (input & 1 << 1) > 0;
         final Boolean _100mbHd = (input & 1 << 2) > 0;
@@ -1090,31 +1053,31 @@ public class MultipartReplyMessageFactoryTest {
                 _40gbFd, _autoneg, _copper, _fiber, _other, _pause, _pauseAsym);
     }
 
-    private static PortState createPortState(long input) {
+    private static PortState createPortState(final long input) {
         final Boolean one = (input & 1 << 0) > 0;
         final Boolean two = (input & 1 << 1) > 0;
         final Boolean three = (input & 1 << 2) > 0;
         return new PortState(two, one, three);
     }
 
-    private static List<Bands> decodeBandsList(ByteBuf input) {
+    private static List<Bands> decodeBandsList(final ByteBuf input) {
         final List<Bands> bandsList = new ArrayList<>();
         final BandsBuilder bandsBuilder = new BandsBuilder();
         final MeterBandDropCaseBuilder dropCaseBuilder = new MeterBandDropCaseBuilder();
         MeterBandDropBuilder dropBand = new MeterBandDropBuilder();
         dropBand.setType(MeterBandType.forValue(input.readUnsignedShort()));
-        input.skipBytes(Short.SIZE / Byte.SIZE);
-        dropBand.setRate(input.readUnsignedInt());
-        dropBand.setBurstSize(input.readUnsignedInt());
+        input.skipBytes(Short.BYTES);
+        dropBand.setRate(Uint32.fromIntBits(input.readInt()));
+        dropBand.setBurstSize(Uint32.fromIntBits(input.readInt()));
         dropCaseBuilder.setMeterBandDrop(dropBand.build());
         bandsList.add(bandsBuilder.setMeterBand(dropCaseBuilder.build()).build());
         final MeterBandDscpRemarkCaseBuilder dscpCaseBuilder = new MeterBandDscpRemarkCaseBuilder();
         MeterBandDscpRemarkBuilder dscpRemarkBand = new MeterBandDscpRemarkBuilder();
         dscpRemarkBand.setType(MeterBandType.forValue(input.readUnsignedShort()));
-        input.skipBytes(Short.SIZE / Byte.SIZE);
-        dscpRemarkBand.setRate(input.readUnsignedInt());
-        dscpRemarkBand.setBurstSize(input.readUnsignedInt());
-        dscpRemarkBand.setPrecLevel((short) 3);
+        input.skipBytes(Short.BYTES);
+        dscpRemarkBand.setRate(Uint32.fromIntBits(input.readInt()));
+        dscpRemarkBand.setBurstSize(Uint32.fromIntBits(input.readInt()));
+        dscpRemarkBand.setPrecLevel(Uint8.valueOf(3));
         dscpCaseBuilder.setMeterBandDscpRemark(dscpRemarkBand.build());
         bandsList.add(bandsBuilder.setMeterBand(dscpCaseBuilder.build()).build());
         return bandsList;
@@ -1123,14 +1086,14 @@ public class MultipartReplyMessageFactoryTest {
     private static List<MeterConfig> createMeterConfig() {
         MeterConfigBuilder builder = new MeterConfigBuilder();
         builder.setFlags(new MeterFlags(true, false, true, false));
-        builder.setMeterId(new MeterId(1L));
+        builder.setMeterId(new MeterId(Uint32.ONE));
         builder.setBands(createBandsList());
         List<MeterConfig> list = new ArrayList<>();
         list.add(builder.build());
         return list;
     }
 
-    private static MeterBandTypeBitmap createMeterBandTypeBitmap(int input) {
+    private static MeterBandTypeBitmap createMeterBandTypeBitmap(final int input) {
         final Boolean one = (input & 1 << 0) > 0;
         final Boolean two = (input & 1 << 1) > 0;
         return new MeterBandTypeBitmap(one, two);
@@ -1142,22 +1105,22 @@ public class MultipartReplyMessageFactoryTest {
         final MeterBandDropCaseBuilder dropCaseBuilder = new MeterBandDropCaseBuilder();
         MeterBandDropBuilder dropBand = new MeterBandDropBuilder();
         dropBand.setType(MeterBandType.OFPMBTDROP);
-        dropBand.setRate(1L);
-        dropBand.setBurstSize(2L);
+        dropBand.setRate(Uint32.ONE);
+        dropBand.setBurstSize(Uint32.TWO);
         dropCaseBuilder.setMeterBandDrop(dropBand.build());
         bandsList.add(bandsBuilder.setMeterBand(dropCaseBuilder.build()).build());
         final MeterBandDscpRemarkCaseBuilder dscpCaseBuilder = new MeterBandDscpRemarkCaseBuilder();
         MeterBandDscpRemarkBuilder dscpRemarkBand = new MeterBandDscpRemarkBuilder();
         dscpRemarkBand.setType(MeterBandType.OFPMBTDSCPREMARK);
-        dscpRemarkBand.setRate(1L);
-        dscpRemarkBand.setBurstSize(2L);
-        dscpRemarkBand.setPrecLevel((short) 3);
+        dscpRemarkBand.setRate(Uint32.ONE);
+        dscpRemarkBand.setBurstSize(Uint32.ONE);
+        dscpRemarkBand.setPrecLevel(Uint8.valueOf(3));
         dscpCaseBuilder.setMeterBandDscpRemark(dscpRemarkBand.build());
         bandsList.add(bandsBuilder.setMeterBand(dscpCaseBuilder.build()).build());
         return bandsList;
     }
 
-    private static MeterFlags createMeterFlags(int input) {
+    private static MeterFlags createMeterFlags(final int input) {
         final Boolean one = (input & 1 << 0) > 0;
         final Boolean two = (input & 1 << 1) > 0;
         final Boolean three = (input & 1 << 2) > 0;
@@ -1167,12 +1130,12 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<MeterStats> createMeterStats() {
         MeterStatsBuilder builder = new MeterStatsBuilder();
-        builder.setMeterId(new MeterId(1L));
-        builder.setFlowCount(1L);
-        builder.setPacketInCount(BigInteger.valueOf(1L));
-        builder.setByteInCount(BigInteger.valueOf(1L));
-        builder.setDurationSec(1L);
-        builder.setDurationNsec(1L);
+        builder.setMeterId(new MeterId(Uint32.ONE));
+        builder.setFlowCount(Uint32.ONE);
+        builder.setPacketInCount(Uint64.ONE);
+        builder.setByteInCount(Uint64.ONE);
+        builder.setDurationSec(Uint32.ONE);
+        builder.setDurationNsec(Uint32.ONE);
         builder.setMeterBandStats(createMeterBandStats());
         List<MeterStats> list = new ArrayList<>();
         list.add(builder.build());
@@ -1181,14 +1144,14 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<MeterBandStats> createMeterBandStats() {
         MeterBandStatsBuilder builder = new MeterBandStatsBuilder();
-        builder.setPacketBandCount(BigInteger.valueOf(1L));
-        builder.setByteBandCount(BigInteger.valueOf(1L));
+        builder.setPacketBandCount(Uint64.ONE);
+        builder.setByteBandCount(Uint64.ONE);
         List<MeterBandStats> list = new ArrayList<>();
         list.add(builder.build());
         return list;
     }
 
-    private static ActionType createActionType(int input) {
+    private static ActionType createActionType(final int input) {
         final Boolean one = (input & 1 << 0) > 0;
         final Boolean two = (input & 1 << 1) > 0;
         final Boolean three = (input & 1 << 2) > 0;
@@ -1228,7 +1191,7 @@ public class MultipartReplyMessageFactoryTest {
 
     }
 
-    private static GroupCapabilities createGroupCapabilities(int input) {
+    private static GroupCapabilities createGroupCapabilities(final int input) {
         final Boolean one = (input & 1 << 0) > 0;
         final Boolean two = (input & 1 << 1) > 0;
         final Boolean three = (input & 1 << 2) > 0;
@@ -1236,7 +1199,7 @@ public class MultipartReplyMessageFactoryTest {
         return new GroupCapabilities(three, four, two, one);
     }
 
-    private static GroupTypes createGroupTypes(int input) {
+    private static GroupTypes createGroupTypes(final int input) {
         final Boolean one = (input & 1 << 0) > 0;
         final Boolean two = (input & 1 << 1) > 0;
         final Boolean three = (input & 1 << 2) > 0;
@@ -1247,7 +1210,7 @@ public class MultipartReplyMessageFactoryTest {
     private static List<GroupDesc> createGroupDesc() {
         GroupDescBuilder builder = new GroupDescBuilder();
         builder.setType(GroupType.forValue(1));
-        builder.setGroupId(new GroupId(1L));
+        builder.setGroupId(new GroupId(Uint32.ONE));
         builder.setBucketsList(createBucketsList());
         List<GroupDesc> list = new ArrayList<>();
         list.add(builder.build());
@@ -1256,12 +1219,12 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<GroupStats> createGroupStats() {
         GroupStatsBuilder builder = new GroupStatsBuilder();
-        builder.setGroupId(new GroupId(1L));
-        builder.setRefCount(1L);
-        builder.setPacketCount(BigInteger.valueOf(1L));
-        builder.setByteCount(BigInteger.valueOf(1L));
-        builder.setDurationSec(1L);
-        builder.setDurationNsec(1L);
+        builder.setGroupId(new GroupId(Uint32.ONE));
+        builder.setRefCount(Uint32.ONE);
+        builder.setPacketCount(Uint64.ONE);
+        builder.setByteCount(Uint64.ONE);
+        builder.setDurationSec(Uint32.ONE);
+        builder.setDurationNsec(Uint32.ONE);
         builder.setBucketStats(createBucketStats());
         List<GroupStats> list = new ArrayList<>();
         list.add(builder.build());
@@ -1270,9 +1233,9 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<BucketsList> createBucketsList() {
         BucketsListBuilder builder = new BucketsListBuilder();
-        builder.setWeight(1);
-        builder.setWatchPort(new PortNumber(1L));
-        builder.setWatchGroup(1L);
+        builder.setWeight(Uint16.ONE);
+        builder.setWatchPort(new PortNumber(Uint32.ONE));
+        builder.setWatchGroup(Uint32.ONE);
         builder.setAction(createActionList());
         List<BucketsList> list = new ArrayList<>();
         list.add(builder.build());
@@ -1283,8 +1246,8 @@ public class MultipartReplyMessageFactoryTest {
         final List<Action> actions = new ArrayList<>();
         OutputActionCaseBuilder caseBuilder = new OutputActionCaseBuilder();
         OutputActionBuilder outputBuilder = new OutputActionBuilder();
-        outputBuilder.setPort(new PortNumber(45L));
-        outputBuilder.setMaxLength(55);
+        outputBuilder.setPort(new PortNumber(Uint32.valueOf(45)));
+        outputBuilder.setMaxLength(Uint16.valueOf(55));
         caseBuilder.setOutputAction(outputBuilder.build());
         ActionBuilder actionBuilder = new ActionBuilder();
         actionBuilder.setActionChoice(caseBuilder.build());
@@ -1292,7 +1255,7 @@ public class MultipartReplyMessageFactoryTest {
         actionBuilder = new ActionBuilder();
         SetNwTtlCaseBuilder ttlCaseBuilder = new SetNwTtlCaseBuilder();
         SetNwTtlActionBuilder ttlActionBuilder = new SetNwTtlActionBuilder();
-        ttlActionBuilder.setNwTtl((short) 64);
+        ttlActionBuilder.setNwTtl(Uint8.valueOf(64));
         ttlCaseBuilder.setSetNwTtlAction(ttlActionBuilder.build());
         actionBuilder.setActionChoice(ttlCaseBuilder.build());
         actions.add(actionBuilder.build());
@@ -1301,8 +1264,8 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<BucketStats> createBucketStats() {
         BucketStatsBuilder builder = new BucketStatsBuilder();
-        builder.setPacketCount(BigInteger.valueOf(1L));
-        builder.setByteCount(BigInteger.valueOf(1L));
+        builder.setPacketCount(Uint64.ONE);
+        builder.setByteCount(Uint64.ONE);
         List<BucketStats> list = new ArrayList<>();
         list.add(builder.build());
         return list;
@@ -1310,13 +1273,13 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<QueueStats> createQueueStats() {
         QueueStatsBuilder builder = new QueueStatsBuilder();
-        builder.setPortNo(1L);
-        builder.setQueueId(1L);
-        builder.setTxBytes(BigInteger.valueOf(1L));
-        builder.setTxPackets(BigInteger.valueOf(1L));
-        builder.setTxErrors(BigInteger.valueOf(1L));
-        builder.setDurationSec(1L);
-        builder.setDurationNsec(1L);
+        builder.setPortNo(Uint32.ONE);
+        builder.setQueueId(Uint32.ONE);
+        builder.setTxBytes(Uint64.ONE);
+        builder.setTxPackets(Uint64.ONE);
+        builder.setTxErrors(Uint64.ONE);
+        builder.setDurationSec(Uint32.ONE);
+        builder.setDurationNsec(Uint32.ONE);
         List<QueueStats> list = new ArrayList<>();
         list.add(builder.build());
         return list;
@@ -1324,21 +1287,21 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<PortStats> createPortStats() {
         PortStatsBuilder builder = new PortStatsBuilder();
-        builder.setPortNo(1L);
-        builder.setRxPackets(BigInteger.valueOf(1L));
-        builder.setTxPackets(BigInteger.valueOf(1L));
-        builder.setRxBytes(BigInteger.valueOf(1L));
-        builder.setTxBytes(BigInteger.valueOf(1L));
-        builder.setRxDropped(BigInteger.valueOf(1L));
-        builder.setTxDropped(BigInteger.valueOf(1L));
-        builder.setRxErrors(BigInteger.valueOf(1L));
-        builder.setTxErrors(BigInteger.valueOf(1L));
-        builder.setRxFrameErr(BigInteger.valueOf(1L));
-        builder.setRxOverErr(BigInteger.valueOf(1L));
-        builder.setRxCrcErr(BigInteger.valueOf(1L));
-        builder.setCollisions(BigInteger.valueOf(1L));
-        builder.setDurationSec(1L);
-        builder.setDurationNsec(1L);
+        builder.setPortNo(Uint32.ONE);
+        builder.setRxPackets(Uint64.ONE);
+        builder.setTxPackets(Uint64.ONE);
+        builder.setRxBytes(Uint64.ONE);
+        builder.setTxBytes(Uint64.ONE);
+        builder.setRxDropped(Uint64.ONE);
+        builder.setTxDropped(Uint64.ONE);
+        builder.setRxErrors(Uint64.ONE);
+        builder.setTxErrors(Uint64.ONE);
+        builder.setRxFrameErr(Uint64.ONE);
+        builder.setRxOverErr(Uint64.ONE);
+        builder.setRxCrcErr(Uint64.ONE);
+        builder.setCollisions(Uint64.ONE);
+        builder.setDurationSec(Uint32.ONE);
+        builder.setDurationNsec(Uint32.ONE);
         List<PortStats> list = new ArrayList<>();
         list.add(builder.build());
         return list;
@@ -1346,10 +1309,10 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<TableStats> createTableStats() {
         TableStatsBuilder builder = new TableStatsBuilder();
-        builder.setTableId((short) 1);
-        builder.setActiveCount(1L);
-        builder.setLookupCount(BigInteger.valueOf(1L));
-        builder.setMatchedCount(BigInteger.valueOf(1L));
+        builder.setTableId(Uint8.ONE);
+        builder.setActiveCount(Uint32.ONE);
+        builder.setLookupCount(Uint64.ONE);
+        builder.setMatchedCount(Uint64.ONE);
         List<TableStats> list = new ArrayList<>();
         list.add(builder.build());
         return list;
@@ -1357,34 +1320,34 @@ public class MultipartReplyMessageFactoryTest {
 
     private static List<FlowStats> createFlowStats() {
         FlowStatsBuilder builder = new FlowStatsBuilder();
-        builder.setTableId((short) 1);
-        builder.setDurationSec(1L);
-        builder.setDurationNsec(1L);
-        builder.setPriority(1);
-        builder.setIdleTimeout(1);
-        builder.setHardTimeout(1);
-        builder.setCookie(BigInteger.valueOf(1234L));
-        builder.setPacketCount(BigInteger.valueOf(1234L));
-        builder.setByteCount(BigInteger.valueOf(1234L));
+        builder.setTableId(Uint8.ONE);
+        builder.setDurationSec(Uint32.ONE);
+        builder.setDurationNsec(Uint32.ONE);
+        builder.setPriority(Uint16.ONE);
+        builder.setIdleTimeout(Uint16.ONE);
+        builder.setHardTimeout(Uint16.ONE);
+        builder.setCookie(Uint64.valueOf(1234));
+        builder.setPacketCount(Uint64.valueOf(1234));
+        builder.setByteCount(Uint64.valueOf(1234));
         MatchBuilder matchBuilder = new MatchBuilder();
-        matchBuilder.setType(OxmMatchType.class);
+        matchBuilder.setType(OxmMatchType.VALUE);
         final List<MatchEntry> entries = new ArrayList<>();
         MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(InPhyPort.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(InPhyPort.VALUE);
         entriesBuilder.setHasMask(false);
         InPhyPortCaseBuilder inPhyPortCaseBuilder = new InPhyPortCaseBuilder();
         InPhyPortBuilder inPhyPortBuilder = new InPhyPortBuilder();
-        inPhyPortBuilder.setPortNumber(new PortNumber(42L));
+        inPhyPortBuilder.setPortNumber(new PortNumber(Uint32.valueOf(42)));
         inPhyPortCaseBuilder.setInPhyPort(inPhyPortBuilder.build());
         entriesBuilder.setMatchEntryValue(inPhyPortCaseBuilder.build());
         entries.add(entriesBuilder.build());
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(IpEcn.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(IpEcn.VALUE);
         entriesBuilder.setHasMask(false);
         IpEcnCaseBuilder ipEcnCaseBuilder = new IpEcnCaseBuilder();
         IpEcnBuilder ipEcnBuilder = new IpEcnBuilder();
-        ipEcnBuilder.setEcn((short) 4);
+        ipEcnBuilder.setEcn(Uint8.valueOf(4));
         ipEcnCaseBuilder.setIpEcn(ipEcnBuilder.build());
         entriesBuilder.setMatchEntryValue(ipEcnCaseBuilder.build());
         entries.add(entriesBuilder.build());
@@ -1395,7 +1358,7 @@ public class MultipartReplyMessageFactoryTest {
         InstructionBuilder builderInstruction = new InstructionBuilder();
         GotoTableCaseBuilder gotoCaseBuilder = new GotoTableCaseBuilder();
         GotoTableBuilder instructionBuilder = new GotoTableBuilder();
-        instructionBuilder.setTableId((short) 5);
+        instructionBuilder.setTableId(Uint8.valueOf(5));
         gotoCaseBuilder.setGotoTable(instructionBuilder.build());
         builderInstruction.setInstructionChoice(gotoCaseBuilder.build());
         instructions.add(builderInstruction.build());
@@ -1416,7 +1379,7 @@ public class MultipartReplyMessageFactoryTest {
         builderInstruction = new InstructionBuilder();
         MeterCaseBuilder meterCaseBuilder = new MeterCaseBuilder();
         MeterBuilder meterBuilder = new MeterBuilder();
-        meterBuilder.setMeterId(42L);
+        meterBuilder.setMeterId(Uint32.valueOf(42));
         meterCaseBuilder.setMeter(meterBuilder.build());
         builderInstruction.setInstructionChoice(meterCaseBuilder.build());
         instructions.add(builderInstruction.build());
@@ -1426,8 +1389,8 @@ public class MultipartReplyMessageFactoryTest {
         final WriteActionsBuilder writeActionsBuilder = new WriteActionsBuilder();
         OutputActionCaseBuilder caseBuilder = new OutputActionCaseBuilder();
         OutputActionBuilder outputBuilder = new OutputActionBuilder();
-        outputBuilder.setPort(new PortNumber(45L));
-        outputBuilder.setMaxLength(55);
+        outputBuilder.setPort(new PortNumber(Uint32.valueOf(45)));
+        outputBuilder.setMaxLength(Uint16.valueOf(55));
         caseBuilder.setOutputAction(outputBuilder.build());
         ActionBuilder actionBuilder = new ActionBuilder();
         actionBuilder.setActionChoice(caseBuilder.build());
@@ -1436,7 +1399,7 @@ public class MultipartReplyMessageFactoryTest {
         actionBuilder = new ActionBuilder();
         SetNwTtlCaseBuilder ttlCaseBuilder = new SetNwTtlCaseBuilder();
         SetNwTtlActionBuilder ttlActionBuilder = new SetNwTtlActionBuilder();
-        ttlActionBuilder.setNwTtl((short) 64);
+        ttlActionBuilder.setNwTtl(Uint8.valueOf(64));
         ttlCaseBuilder.setSetNwTtlAction(ttlActionBuilder.build());
         actionBuilder.setActionChoice(ttlCaseBuilder.build());
         actions.add(actionBuilder.build());
@@ -1452,7 +1415,7 @@ public class MultipartReplyMessageFactoryTest {
         actionBuilder = new ActionBuilder();
         PushVlanCaseBuilder vlanCaseBuilder = new PushVlanCaseBuilder();
         PushVlanActionBuilder vlanBuilder = new PushVlanActionBuilder();
-        vlanBuilder.setEthertype(new EtherType(new EtherType(14)));
+        vlanBuilder.setEthertype(new EtherType(new EtherType(Uint16.valueOf(14))));
         vlanCaseBuilder.setPushVlanAction(vlanBuilder.build());
         actionBuilder.setActionChoice(vlanCaseBuilder.build());
         actions.add(actionBuilder.build());
@@ -1469,12 +1432,12 @@ public class MultipartReplyMessageFactoryTest {
         return list;
     }
 
-    private static MultipartRequestFlags createMultipartRequestFlags(int input) {
+    private static MultipartRequestFlags createMultipartRequestFlags(final int input) {
         final Boolean one = (input & 1 << 0) > 0;
         return new MultipartRequestFlags(one);
     }
 
-    private static MultipartReplyDescCase decodeDescBody(ByteBuf output) {
+    private static MultipartReplyDescCase decodeDescBody(final ByteBuf output) {
         final MultipartReplyDescCaseBuilder descCase = new MultipartReplyDescCaseBuilder();
         MultipartReplyDescBuilder desc = new MultipartReplyDescBuilder();
         byte[] mfrDesc = new byte[256];