import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterRelatedTableFeatureProperty;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterRelatedTableFeaturePropertyBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeatureProperty;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeaturePropertyBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NextTableRelatedTableFeatureProperty;\r
oxmBuilder.setMatchEntries(entries);\r
propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
properties.add(propBuilder.build());\r
+ propBuilder = new TableFeaturePropertiesBuilder();\r
+ propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTER);\r
+ ExperimenterRelatedTableFeaturePropertyBuilder expBuilder =\r
+ new ExperimenterRelatedTableFeaturePropertyBuilder();\r
+ expBuilder.setExperimenter(1024L);\r
+ expBuilder.setExpType(2048L);\r
+ byte[] expData = new byte[]{0, 1, 2};\r
+ expBuilder.setData(expData);\r
+ propBuilder.addAugmentation(\r
+ ExperimenterRelatedTableFeatureProperty.class, expBuilder.build());\r
+ properties.add(propBuilder.build());\r
+ propBuilder = new TableFeaturePropertiesBuilder();\r
+ propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTERMISS);\r
+ expBuilder = new ExperimenterRelatedTableFeaturePropertyBuilder();\r
+ expBuilder.setExperimenter(4098L);\r
+ expBuilder.setExpType(8152L);\r
+ byte[] expData2 = new byte[]{3, 4, 6, 7, 8, 9};\r
+ expBuilder.setData(expData2);\r
+ propBuilder.addAugmentation(\r
+ ExperimenterRelatedTableFeatureProperty.class, expBuilder.build());\r
+ properties.add(propBuilder.build());\r
tableFeaturesBuilder.setTableFeatureProperties(properties);\r
tableFeaturesList.add(tableFeaturesBuilder.build());\r
featuresBuilder.setTableFeatures(tableFeaturesList);\r
ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
multipartFactory.serialize(message, out);\r
\r
- BufferHelper.checkHeaderV13(out, (byte) 18, 232);\r
+ BufferHelper.checkHeaderV13(out, (byte) 18, 272);\r
Assert.assertEquals("Wrong type", 12, out.readUnsignedShort());\r
Assert.assertEquals("Wrong flags", 1, out.readUnsignedShort());\r
out.skipBytes(PADDING_IN_MULTIPART_REQUEST_MESSAGE);\r
Assert.assertEquals("Wrong instruction length", 4, out.readUnsignedShort());\r
Assert.assertEquals("Wrong instruction type", 1, out.readUnsignedShort());\r
Assert.assertEquals("Wrong instruction length", 4, out.readUnsignedShort());\r
- Assert.assertEquals("Wrong length", 96, out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong length", 136, out.readUnsignedShort());\r
Assert.assertEquals("Wrong registry-id", 8, out.readUnsignedByte());\r
out.skipBytes(5);\r
Assert.assertEquals("Wrong name", "AAAABBBBCCCCDDDDEEEEFFFFGGGG",\r
Assert.assertEquals("Wrong match field&mask", 18, out.readUnsignedByte());\r
Assert.assertEquals("Wrong match length", 1, out.readUnsignedByte());\r
out.skipBytes(4);\r
+ Assert.assertEquals("Wrong property type", 0xFFFE, out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong property length", 16, out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong experimenter", 1024, out.readUnsignedInt());\r
+ Assert.assertEquals("Wrong exp-type", 2048, out.readUnsignedInt());\r
+ byte[] tmp = new byte[3];\r
+ out.readBytes(tmp);\r
+ Assert.assertArrayEquals("Wrong experimenter data", expData, tmp);\r
+ out.skipBytes(1);\r
+ Assert.assertEquals("Wrong property type", 0xFFFF, out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong property length", 24, out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong experimenter", 4098, out.readUnsignedInt());\r
+ Assert.assertEquals("Wrong exp-type", 8152, out.readUnsignedInt());\r
+ byte[] tmp2 = new byte[6];\r
+ out.readBytes(tmp2);\r
+ Assert.assertArrayEquals("Wrong experimenter data", expData2, tmp2);\r
+ out.skipBytes(6);\r
Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
}\r
\r