These will be used my meter mod message support which is added by a subsequent patch.
Signed-off-by: Simon Horman <[email protected]> --- ryu/ofproto/ofproto_v1_4_parser.py | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/ryu/ofproto/ofproto_v1_4_parser.py b/ryu/ofproto/ofproto_v1_4_parser.py index b6560ce..e617446 100644 --- a/ryu/ofproto/ofproto_v1_4_parser.py +++ b/ryu/ofproto/ofproto_v1_4_parser.py @@ -2653,6 +2653,54 @@ class OFPMeterBandDrop(OFPMeterBandHeader): return cls(rate, burst_size) [email protected]_meter_band_type( + ofproto.OFPMBT_DSCP_REMARK, + ofproto.OFP_METER_BAND_DSCP_REMARK_SIZE) +class OFPMeterBandDscpRemark(OFPMeterBandHeader): + def __init__(self, rate, burst_size, prec_level, type_=None, len_=None): + super(OFPMeterBandDscpRemark, self).__init__() + self.rate = rate + self.burst_size = burst_size + self.prec_level = prec_level + + def serialize(self, buf, offset): + msg_pack_into(ofproto.OFP_METER_BAND_DSCP_REMARK_PACK_STR, buf, + offset, self.type, self.len, self.rate, + self.burst_size, self.prec_level) + + @classmethod + def parser(cls, buf, offset): + type_, len_, rate, burst_size, prec_level = struct.unpack_from( + ofproto.OFP_METER_BAND_DSCP_REMARK_PACK_STR, buf, offset) + assert cls.cls_meter_band_type == type_ + assert cls.cls_meter_band_len == len_ + return cls(rate, burst_size, prec_level) + + [email protected]_meter_band_type( + ofproto.OFPMBT_EXPERIMENTER, + ofproto.OFP_METER_BAND_EXPERIMENTER_SIZE) +class OFPMeterBandExperimenter(OFPMeterBandHeader): + def __init__(self, rate, burst_size, experimenter, type_=None, len_=None): + super(OFPMeterBandExperimenter, self).__init__() + self.rate = rate + self.burst_size = burst_size + self.experimenter = experimenter + + def serialize(self, buf, offset): + msg_pack_into(ofproto.OFP_METER_BAND_EXPERIMENTER_PACK_STR, buf, + offset, self.type, self.len, self.rate, + self.burst_size, self.experimenter) + + @classmethod + def parser(cls, buf, offset): + type_, len_, rate, burst_size, experimenter = struct.unpack_from( + ofproto.OFP_METER_BAND_EXPERIMENTER_PACK_STR, buf, offset) + assert cls.cls_meter_band_type == type_ + assert cls.cls_meter_band_len == len_ + return cls(rate, burst_size, experimenter) + + class OFPMeterConfigStats(StringifyMixin): def __init__(self, flags=None, meter_id=None, bands=None, length=None): super(OFPMeterConfigStats, self).__init__() -- 1.8.5.2 ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
