Signed-off-by: YAMAMOTO Takashi <[email protected]>
---
ryu/ofproto/ofproto_v1_3_parser.py | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/ryu/ofproto/ofproto_v1_3_parser.py
b/ryu/ofproto/ofproto_v1_3_parser.py
index f67502f..c315d93 100644
--- a/ryu/ofproto/ofproto_v1_3_parser.py
+++ b/ryu/ofproto/ofproto_v1_3_parser.py
@@ -396,7 +396,7 @@ class OFPMatch(StringifyMixin):
>>>
"""
- def __init__(self, _ordered_fields=None, **kwargs):
+ def __init__(self, type=None, length=None, _ordered_fields=None, **kwargs):
"""
You can define the flow match by the keyword arguments.
Please refer to ofproto_v1_3.oxm_types for the key which you can
@@ -406,6 +406,8 @@ class OFPMatch(StringifyMixin):
self._wc = FlowWildcards()
self._flow = Flow()
self.fields = []
+ self.type = ofproto_v1_3.OFPMT_OXM
+ self.length = length
if not _ordered_fields is None:
assert not kwargs
@@ -456,7 +458,9 @@ class OFPMatch(StringifyMixin):
o = self
body = {"oxm_fields": [ofproto_v1_3.oxm_to_jsondict(k, uv) for k, uv
- in o._fields2]}
+ in o._fields2],
+ "length": o.length,
+ "type": o.type}
return {self.__class__.__name__: body}
@classmethod
@@ -531,6 +535,7 @@ class OFPMatch(StringifyMixin):
length = field_offset - offset
msg_pack_into(hdr_pack_str, buf, offset,
ofproto_v1_3.OFPMT_OXM, length)
+ self.length = length
pad_len = utils.round_up(length, 8) - length
ofproto_parser.msg_pack_into("%dx" % pad_len, buf, field_offset)
@@ -775,7 +780,7 @@ class OFPMatch(StringifyMixin):
type_, length = struct.unpack_from('!HH', buf, offset)
match.type = type_
- match._length = length
+ match.length = length
# ofp_match adjustment
offset += 4
@@ -1621,7 +1626,7 @@ class OFPPacketIn(MsgBase):
msg.match = OFPMatch.parser(msg.buf, ofproto_v1_3.OFP_PACKET_IN_SIZE -
ofproto_v1_3.OFP_MATCH_SIZE)
- match_len = utils.round_up(msg.match._length, 8)
+ match_len = utils.round_up(msg.match.length, 8)
msg.data = msg.buf[(ofproto_v1_3.OFP_PACKET_IN_SIZE -
ofproto_v1_3.OFP_MATCH_SIZE + match_len + 2):]
@@ -2529,7 +2534,7 @@ class OFPFlowStats(StringifyMixin):
offset += ofproto_v1_3.OFP_FLOW_STATS_0_SIZE
flow_stats.match = OFPMatch.parser(buf, offset)
- match_length = utils.round_up(flow_stats.match._length, 8)
+ match_length = utils.round_up(flow_stats.match.length, 8)
inst_length = (flow_stats._length - (ofproto_v1_3.OFP_FLOW_STATS_SIZE -
ofproto_v1_3.OFP_MATCH_SIZE +
match_length))
--
1.8.3.1
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights,
analysis and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel