diff options
author | Aeschlimann Philipp <aepp@zhaw.ch> | 2013-06-19 11:19:07 +0200 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2013-06-20 06:36:23 +0900 |
commit | 727d7bd356e4a0291a8b6fbeb83c3efdc5ac1a6e (patch) | |
tree | c4b131e3c2b85ddfb2d408705e4b259bfd4ae126 | |
parent | df42ae87e887643272e02b9521886972154ebbfc (diff) |
of13: Added InstructionMeter
Signed-off-by: Philipp Aeschlimann <aepp@zhaw.ch>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | ryu/ofproto/ofproto_v1_3_parser.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py index 99161098..7a220db0 100644 --- a/ryu/ofproto/ofproto_v1_3_parser.py +++ b/ryu/ofproto/ofproto_v1_3_parser.py @@ -1589,6 +1589,26 @@ class OFPInstructionActions(object): buf, offset, self.type, self.len) +@OFPInstruction.register_instruction_type([ofproto_v1_3.OFPIT_METER]) +class OFPInstructionMeter(object): + def __init__(self, meter_id): + super(OFPInstructionMeter, self).__init__() + self.type = ofproto_v1_3.OFPIT_METER + self.len = ofproto_v1_3.OFP_INSTRUCTION_METER_SIZE + self.meter_id = meter_id + + @classmethod + def parser(cls, buf, offset): + (type_, len_, table_id) = struct.unpack_from( + ofproto_v1_3.OFP_INSTRUCTION_METER_PACK_STR, + buf, offset) + return cls(meter_id) + + def serialize(self, buf, offset): + msg_pack_into(ofproto_v1_3.OFP_INSTRUCTION_METER_PACK_STR, + buf, offset, self.type, self.len, self.meter_id) + + class OFPActionHeader(object): def __init__(self, type_, len_): self.type = type_ |