summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ryu/ofproto/ofproto_v1_3_parser.py78
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