From 9fcc42d2e1adc23cb9eec5da780549401c5b1fad Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Wed, 6 Mar 2013 23:40:24 +0900 Subject: [PATCH] ofp: send events to others before calling own handlers Some own handlers change the state so needs to send events before calling own handlers. Signed-off-by: FUJITA Tomonori --- ryu/controller/controller.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ryu/controller/controller.py b/ryu/controller/controller.py index bf53f7ed..c753f014 100644 --- a/ryu/controller/controller.py +++ b/ryu/controller/controller.py @@ -170,13 +170,13 @@ class Datapath(object): version, msg_type, msg_len, xid, buf) #LOG.debug('queue msg %s cls %s', msg, msg.__class__) 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) for handler in handlers: if self.state in handler.dispatchers: handler(ev) - self.ofp_brick.send_event_to_observers(ev, self.state) - buf = buf[required_len:] required_len = ofproto_common.OFP_HEADER_SIZE