}
}
}
+
+ typedef meter-band-type-bitmap {
+ /* ofp_meter_band_type */
+ type bits {
+ bit OFPMBT_DROP {
+ position 1;
+ description "Drop packet. ";
+ }
+ bit OFPMBT_DSCP_REMARK {
+ position 2;
+ description "Remark DSCP in the IP header. ";
+ }
+ }
+ }
typedef meter {
/* ofp_meter - Meter numbering. Flow meters can use any number up to OFPM_MAX*/
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupType;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupTypes;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandTypeBitmap;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterFlags;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;\r
final byte PADDING_IN_METER_FEATURES_HEADER = 2;\r
MultipartReplyMeterFeaturesBuilder builder = new MultipartReplyMeterFeaturesBuilder();\r
builder.setMaxMeter(input.readUnsignedInt());\r
- builder.setBandTypes(MeterBandType.forValue(input.readInt()));\r
+ builder.setBandTypes(createMeterBandsBitmap(input.readUnsignedInt()));\r
builder.setCapabilities(createMeterFlags(input.readUnsignedInt()));\r
builder.setMaxBands(input.readUnsignedByte());\r
builder.setMaxColor(input.readUnsignedByte());\r
return new MeterFlags(_oFPMFBURST, _oFPMFKBPS, _oFPMFPKTPS, _oFPMFSTATS);\r
}\r
\r
+ private static MeterBandTypeBitmap createMeterBandsBitmap(long input) {\r
+ final Boolean _oFPMBTDROP = (input & (1 << 0)) != 0;\r
+ final Boolean _oFPMBTDSCPREMARK = (input & (1 << 1)) != 0;\r
+ return new MeterBandTypeBitmap(_oFPMBTDROP, _oFPMBTDSCPREMARK);\r
+ }\r
+ \r
private static MultipartReplyMeter setMeter(ByteBuf input) {\r
final byte PADDING_IN_METER_STATS_HEADER = 6;\r
final byte METER_BAND_STATS_LENGTH = 16;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetNwTtl;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetQueue;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowModFlags;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandTypeBitmap;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterFlags;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortConfig;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortFeatures;\r
MultipartReplyMeterFeatures message = (MultipartReplyMeterFeatures) builtByFactory.getMultipartReplyBody();\r
\r
Assert.assertEquals("Wrong maxMeter", 9, message.getMaxMeter().intValue());\r
- Assert.assertEquals("Wrong bandTypes", 1, message.getBandTypes().getIntValue());\r
+ Assert.assertEquals("Wrong bandTypes", new MeterBandTypeBitmap(true, false), message.getBandTypes());\r
Assert.assertEquals("Wrong capabilities", new MeterFlags(false, true, true, false), \r
message.getCapabilities());\r
Assert.assertEquals("Wrong maxBands", 3, message.getMaxBands().intValue());\r