diff options
-rw-r--r-- | ryu/ofproto/ofproto_v1_3_parser.py | 78 |
1 files changed, 35 insertions, 43 deletions
diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py index 3b5a4b40..a2032c2b 100644 --- a/ryu/ofproto/ofproto_v1_3_parser.py +++ b/ryu/ofproto/ofproto_v1_3_parser.py @@ -2371,9 +2371,7 @@ class OFPInstructionGotoTable(StringifyMixin): table_id Next table ================ ====================================================== """ - _base_attributes = ['type', 'len'] - - def __init__(self, table_id): + def __init__(self, table_id, type_=None, len_=None): super(OFPInstructionGotoTable, self).__init__() self.type = ofproto_v1_3.OFPIT_GOTO_TABLE self.len = ofproto_v1_3.OFP_INSTRUCTION_GOTO_TABLE_SIZE @@ -2405,9 +2403,7 @@ class OFPInstructionWriteMetadata(StringifyMixin): metadata_mask Metadata write bitmask ================ ====================================================== """ - _base_attributes = ['type', 'len'] - - def __init__(self, metadata, metadata_mask): + def __init__(self, metadata, metadata_mask, len_=None): super(OFPInstructionWriteMetadata, self).__init__() self.type = ofproto_v1_3.OFPIT_WRITE_METADATA self.len = ofproto_v1_3.OFP_INSTRUCTION_WRITE_METADATA_SIZE @@ -2446,9 +2442,7 @@ class OFPInstructionActions(StringifyMixin): actions list of OpenFlow action class ================ ====================================================== """ - _base_attributes = ['len'] - - def __init__(self, type_, actions=None): + def __init__(self, type_, actions=None, len_=None): super(OFPInstructionActions, self).__init__() self.type = type_ self.actions = actions @@ -2522,8 +2516,6 @@ class OFPInstructionMeter(StringifyMixin): class OFPActionHeader(StringifyMixin): - _base_attributes = ['type', 'len'] - def __init__(self, type_, len_): self.type = type_ self.len = len_ @@ -2574,7 +2566,7 @@ class OFPActionOutput(OFPAction): max_len Max length to send to controller ================ ====================================================== """ - def __init__(self, port, max_len=0): + def __init__(self, port, max_len=0, type_=None, len_=None): super(OFPActionOutput, self).__init__() self.port = port self.max_len = max_len @@ -2604,7 +2596,7 @@ class OFPActionGroup(OFPAction): group_id Group identifier ================ ====================================================== """ - def __init__(self, group_id): + def __init__(self, group_id, type_=None, len_=None): super(OFPActionGroup, self).__init__() self.group_id = group_id @@ -2634,7 +2626,7 @@ class OFPActionSetQueue(OFPAction): queue_id Queue ID for the packets ================ ====================================================== """ - def __init__(self, queue_id): + def __init__(self, queue_id, type_=None, len_=None): super(OFPActionSetQueue, self).__init__() self.queue_id = queue_id @@ -2663,7 +2655,7 @@ class OFPActionSetMplsTtl(OFPAction): mpls_ttl MPLS TTL ================ ====================================================== """ - def __init__(self, mpls_ttl): + def __init__(self, mpls_ttl, type_=None, len_=None): super(OFPActionSetMplsTtl, self).__init__() self.mpls_ttl = mpls_ttl @@ -2686,7 +2678,7 @@ class OFPActionDecMplsTtl(OFPAction): This action decrements the MPLS TTL. """ - def __init__(self): + def __init__(self, type_=None, len_=None): super(OFPActionDecMplsTtl, self).__init__() @@ -2704,7 +2696,7 @@ class OFPActionSetNwTtl(OFPAction): nw_ttl IP TTL ================ ====================================================== """ - def __init__(self, nw_ttl): + def __init__(self, nw_ttl, type_=None, len_=None): super(OFPActionSetNwTtl, self).__init__() self.nw_ttl = nw_ttl @@ -2727,7 +2719,7 @@ class OFPActionDecNwTtl(OFPAction): This action decrements the IP TTL. """ - def __init__(self): + def __init__(self, type_=None, len_=None): super(OFPActionDecNwTtl, self).__init__() @classmethod @@ -2745,7 +2737,7 @@ class OFPActionCopyTtlOut(OFPAction): This action copies the TTL from the next-to-outermost header with TTL to the outermost header with TTL. """ - def __init__(self): + def __init__(self, type_=None, len_=None): super(OFPActionCopyTtlOut, self).__init__() @classmethod @@ -2763,7 +2755,7 @@ class OFPActionCopyTtlIn(OFPAction): This action copies the TTL from the outermost header with TTL to the next-to-outermost header with TTL. """ - def __init__(self): + def __init__(self, type_=None, len_=None): super(OFPActionCopyTtlIn, self).__init__() @classmethod @@ -2786,7 +2778,7 @@ class OFPActionPushVlan(OFPAction): ethertype Ether type ================ ====================================================== """ - def __init__(self, ethertype): + def __init__(self, ethertype, type_=None, len_=None): super(OFPActionPushVlan, self).__init__() self.ethertype = ethertype @@ -2815,7 +2807,7 @@ class OFPActionPushMpls(OFPAction): ethertype Ether type ================ ====================================================== """ - def __init__(self, ethertype): + def __init__(self, ethertype, type_=None, len_=None): super(OFPActionPushMpls, self).__init__() self.ethertype = ethertype @@ -2838,7 +2830,7 @@ class OFPActionPopVlan(OFPAction): This action pops the outermost VLAN tag from the packet. """ - def __init__(self): + def __init__(self, type_=None, len_=None): super(OFPActionPopVlan, self).__init__() @classmethod @@ -2855,7 +2847,7 @@ class OFPActionPopMpls(OFPAction): This action pops the MPLS header from the packet. """ - def __init__(self, ethertype): + def __init__(self, ethertype, type_=None, len_=None): super(OFPActionPopMpls, self).__init__() self.ethertype = ethertype @@ -3008,7 +3000,7 @@ class OFPActionExperimenter(OFPAction): experimenter Experimenter ID ================ ====================================================== """ - def __init__(self, experimenter): + def __init__(self, experimenter, type_=None, len_=None): super(OFPActionExperimenter, self).__init__() self.experimenter = experimenter @@ -3024,7 +3016,7 @@ class OFPActionExperimenter(OFPAction): class OFPBucket(StringifyMixin): - def __init__(self, weight, watch_port, watch_group, actions): + def __init__(self, weight, watch_port, watch_group, actions, len_=None): super(OFPBucket, self).__init__() self.weight = weight self.watch_port = watch_port @@ -3036,11 +3028,11 @@ class OFPBucket(StringifyMixin): (len_, weight, watch_port, watch_group) = struct.unpack_from( ofproto_v1_3.OFP_BUCKET_PACK_STR, buf, offset) msg = cls(weight, watch_port, watch_group, []) - msg._len = len_ + msg.len = len_ length = ofproto_v1_3.OFP_BUCKET_SIZE offset += ofproto_v1_3.OFP_BUCKET_SIZE - while length < msg._len: + while length < msg.len: action = OFPAction.parser(buf, offset) msg.actions.append(action) offset += action.len @@ -3056,10 +3048,9 @@ class OFPBucket(StringifyMixin): action_offset += a.len action_len += a.len - self._len = utils.round_up(ofproto_v1_3.OFP_BUCKET_SIZE + action_len, - 8) + self.len = utils.round_up(ofproto_v1_3.OFP_BUCKET_SIZE + action_len, 8) msg_pack_into(ofproto_v1_3.OFP_BUCKET_PACK_STR, buf, offset, - self._len, self.weight, self.watch_port, + self.len, self.weight, self.watch_port, self.watch_group) @@ -3122,7 +3113,7 @@ class OFPGroupMod(MsgBase): offset = ofproto_v1_3.OFP_GROUP_MOD_SIZE for b in self.buckets: b.serialize(self.buf, offset) - offset += b._len + offset += b.len @_set_msg_type(ofproto_v1_3.OFPT_PORT_MOD) @@ -4056,8 +4047,8 @@ class OFPGroupDescStats(StringifyMixin): bucket = OFPBucket.parser(buf, offset) stats.buckets.append(bucket) - offset += bucket._len - length += bucket._len + offset += bucket.len + length += bucket.len return stats @@ -4781,11 +4772,11 @@ class OFPQueueGetConfigRequest(MsgBase): class OFPQueuePropHeader(StringifyMixin): def __init__(self, property_, len_): self._property = property_ - self._len = len_ + self.len = len_ def serialize(self, buf, offset): msg_pack_into(ofproto_v1_3.OFP_QUEUE_PROP_HEADER_PACK_STR, - buf, offset, self._property, self._len) + buf, offset, self._property, self.len) class OFPQueueProp(OFPQueuePropHeader): @@ -4819,7 +4810,7 @@ class OFPQueueProp(OFPQueuePropHeader): ofproto_v1_3.OFPQT_MIN_RATE, ofproto_v1_3.OFP_QUEUE_PROP_MIN_RATE_SIZE) class OFPQueuePropMinRate(OFPQueueProp): - def __init__(self, rate): + def __init__(self, rate, len_=None): super(OFPQueuePropMinRate, self).__init__() self.rate = rate @@ -4834,7 +4825,7 @@ class OFPQueuePropMinRate(OFPQueueProp): ofproto_v1_3.OFPQT_MAX_RATE, ofproto_v1_3.OFP_QUEUE_PROP_MAX_RATE_SIZE) class OFPQueuePropMaxRate(OFPQueueProp): - def __init__(self, rate): + def __init__(self, rate, len_=None): super(OFPQueuePropMaxRate, self).__init__() self.rate = rate @@ -4849,10 +4840,11 @@ class OFPQueuePropMaxRate(OFPQueueProp): class OFPPacketQueue(StringifyMixin): - def __init__(self, queue_id, port, properties): + def __init__(self, queue_id, port, properties, len_=None): super(OFPPacketQueue, self).__init__() self.queue_id = queue_id self.port = port + self.len = len_ self.properties = properties @classmethod @@ -4865,10 +4857,10 @@ class OFPPacketQueue(StringifyMixin): while length < len_: queue_prop = OFPQueueProp.parser(buf, offset) properties.append(queue_prop) - offset += queue_prop._len - length += queue_prop._len + offset += queue_prop.len + length += queue_prop.len o = cls(queue_id, port, properties) - o._len = len_ + o.len = len_ return o @@ -4916,7 +4908,7 @@ class OFPQueueGetConfigReply(MsgBase): while offset < msg_len: queue = OFPPacketQueue.parser(msg.buf, offset) msg.queues.append(queue) - offset += queue._len + offset += queue.len return msg |