make the parser return specific classes like OFPGroupFeaturesStatsReply
instead of always returning OFPMultipartReply.

Signed-off-by: YAMAMOTO Takashi <[email protected]>
---
 ryu/ofproto/ofproto_v1_3_parser.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/ryu/ofproto/ofproto_v1_3_parser.py 
b/ryu/ofproto/ofproto_v1_3_parser.py
index 6ab9e1a..be1846f 100644
--- a/ryu/ofproto/ofproto_v1_3_parser.py
+++ b/ryu/ofproto/ofproto_v1_3_parser.py
@@ -2032,12 +2032,14 @@ class OFPMultipartReply(MsgBase):
 
     @classmethod
     def parser(cls, datapath, version, msg_type, msg_len, xid, buf):
-        msg = super(OFPMultipartReply, cls).parser(datapath, version, msg_type,
-                                                   msg_len, xid, buf)
-        msg.type, msg.flags = struct.unpack_from(
+        type_, flags = struct.unpack_from(
             ofproto_v1_3.OFP_MULTIPART_REPLY_PACK_STR, buffer(buf),
             ofproto_v1_3.OFP_HEADER_SIZE)
-        stats_type_cls = cls._STATS_MSG_TYPES.get(msg.type)
+        stats_type_cls = cls._STATS_MSG_TYPES.get(type_)
+        msg = super(OFPMultipartReply, stats_type_cls).parser(
+            datapath, version, msg_type, msg_len, xid, buf)
+        msg._type = type_
+        msg.flags = flags
 
         offset = ofproto_v1_3.OFP_MULTIPART_REPLY_SIZE
         body = []
-- 
1.8.1.5


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to