import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ActionRelatedTableFeatureProperty;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ActionRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterRelatedTableFeatureProperty;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterRelatedTableFeaturePropertyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeatureProperty;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeaturePropertyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NextTableRelatedTableFeatureProperty;
builder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
} else if (type.equals(TableFeaturesPropType.OFPTFPTEXPERIMENTER)
|| type.equals(TableFeaturesPropType.OFPTFPTEXPERIMENTERMISS)) {
- ExperimenterRelatedTableFeaturePropertyBuilder expBuilder = new ExperimenterRelatedTableFeaturePropertyBuilder();
- expBuilder.setExperimenter(input.readUnsignedInt());
- expBuilder.setExpType(input.readUnsignedInt());
- OFDeserializer<ExperimenterRelatedTableFeatureProperty> propDeserializer = registry.getDeserializer(
+ // return index to property start, so that the experimenter properties are deserialized
+ // correctly - as whole ofp_table_feature_prop_experimenter property
+ input.readerIndex(input.readerIndex() - 2 * EncodeConstants.SIZE_OF_SHORT_IN_BYTES);
+ OFDeserializer<TableFeatureProperties> propDeserializer = registry.getDeserializer(
new MessageCodeKey(EncodeConstants.OF13_VERSION_ID,
- type.getIntValue(), ExperimenterRelatedTableFeatureProperty.class));
- ExperimenterRelatedTableFeatureProperty expProp = propDeserializer.deserialize(input);
- builder.addAugmentation(ExperimenterRelatedTableFeatureProperty.class, expProp);
+ type.getIntValue(), TableFeatureProperties.class));
+ TableFeatureProperties expProp = propDeserializer.deserialize(input);
+ properties.add(expProp);
+ continue;
}
if (paddingRemainder != 0) {
input.skipBytes(EncodeConstants.PADDING - paddingRemainder);
bandsBuilder.setMeterBand(bandDscpRemarkCaseBuilder.build());
break;
case 0xFFFF:
- MeterBandExperimenterCaseBuilder bandExperimenterCaseBuilder = new MeterBandExperimenterCaseBuilder();
+ MeterBandExperimenterCaseBuilder bandExperimenterCaseBuilder = new MeterBandExperimenterCaseBuilder();
MeterBandExperimenterBuilder bandExperimenterBuilder = new MeterBandExperimenterBuilder();
- bandExperimenterBuilder.setType(MeterBandType.forValue(bandType));
- actualLength += input.readUnsignedShort();
- bandExperimenterBuilder.setRate(input.readUnsignedInt());
- bandExperimenterBuilder.setBurstSize(input.readUnsignedInt());
- bandExperimenterBuilder.setExperimenter(input.readUnsignedInt());
- bandExperimenterCaseBuilder.setMeterBandExperimenter(bandExperimenterBuilder.build());
+ // TODO - implement lookup into registry
+// bandExperimenterBuilder.setType(MeterBandType.forValue(bandType));
+// actualLength += input.readUnsignedShort();
+// bandExperimenterBuilder.setRate(input.readUnsignedInt());
+// bandExperimenterBuilder.setBurstSize(input.readUnsignedInt());
+// bandExperimenterBuilder.setExperimenter(input.readUnsignedInt());
+// bandExperimenterCaseBuilder.setMeterBandExperimenter(bandExperimenterBuilder.build());
bandsBuilder.setMeterBand(bandExperimenterCaseBuilder.build());
break;
default:
}
private static MultipartReplyExperimenterCase setExperimenter(ByteBuf input) {
+ // TODO - implement lookup into registry
MultipartReplyExperimenterCaseBuilder caseBuilder = new MultipartReplyExperimenterCaseBuilder();
MultipartReplyExperimenterBuilder builder = new MultipartReplyExperimenterBuilder();
- builder.setExperimenter(input.readUnsignedInt());
- builder.setExpType(input.readUnsignedInt());
- byte[] data = new byte[input.readableBytes()];
- input.readBytes(data);
- builder.setData(data);
+// builder.setExperimenter(input.readUnsignedInt());
+// builder.setExpType(input.readUnsignedInt());
+// byte[] data = new byte[input.readableBytes()];
+// input.readBytes(data);
+// builder.setData(data);
caseBuilder.setMultipartReplyExperimenter(builder.build());
return caseBuilder.build();
}