Hi,

I suppose that the list of handler to be called for the OFP message
should be kept even if the state is changed in a handler.
Is this correct?

diff --git a/ryu/controller/controller.py b/ryu/controller/controller.py
index c753f01..79c6316 100644
--- a/ryu/controller/controller.py
+++ b/ryu/controller/controller.py
@@ -172,10 +172,11 @@ class Datapath(object):
                 ev = ofp_event.ofp_msg_to_ev(msg)
                 self.ofp_brick.send_event_to_observers(ev, self.state)

-                handlers = self.ofp_brick.get_handlers(ev)
+                handlers = [handler for handler in
+                            self.ofp_brick.get_handlers(ev) if self.state in
+                            handler.dispatchers]
                 for handler in handlers:
-                    if self.state in handler.dispatchers:
-                        handler(ev)
+                    handler(ev)

                 buf = buf[required_len:]
                 required_len = ofproto_common.OFP_HEADER_SIZE

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to