summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAeschlimann Philipp <aepp@zhaw.ch>2013-06-19 11:19:07 +0200
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-06-20 06:36:23 +0900
commit727d7bd356e4a0291a8b6fbeb83c3efdc5ac1a6e (patch)
treec4b131e3c2b85ddfb2d408705e4b259bfd4ae126
parentdf42ae87e887643272e02b9521886972154ebbfc (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.py20
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_