Hi, Which multipart message type or types you want to catch?
I guess you need to specify multipart message type explicitly. The following sample app specifies each multipart message to catch. https://github.com/osrg/ryu/blob/master/ryu/app/ofctl_rest.py#L713-L730 Thanks, Iwase On 2016年12月15日 05:40, helcio wagner wrote: > Hi everybody. > > I can't receive MultipartReply messages from switches, even though I had > defined the handler below and watched those messages using wireshark. > > Does anybody have any idea about what is going on? > > --- > @set_ev_cls(ofp_event.EventOFPMultipartReply, [HANDSHAKE_DISPATCHER, > CONFIG_DISPATCHER, MAIN_DISPATCHER]) > def switch_multipart_reply_handler(self, ev): > multipart_reply = ev.msg > datapath = ev.msg.datapath > print '>>> openflow %s MultipartReply message has been received from swich > %i' %(self.print_version(echo_request.version), datapath.id > <http://datapath.id>) > --- > > Here is the trace of execution of ryu using the 'SwitchCommander', an > application built to watch some of the OpenFlow messages received by the > controller. > > --- > helcio@ojuara:~/ryu/bin$ ./ryu-manager --verbose > ../ryu/app/simple_switch_13.py > ../../Dropbox/EXA0186/Python/switch_commander.py > loading app ../ryu/app/simple_switch_13.py > loading app ../../Dropbox/EXA0186/Python/switch_commander.py > loading app ryu.controller.ofp_handler > instantiating app ../../Dropbox/EXA0186/Python/switch_commander.py of > SwitchCommander > instantiating app ../ryu/app/simple_switch_13.py of SimpleSwitch13 > instantiating app ryu.controller.ofp_handler of OFPHandler > BRICK SimpleSwitch13 > CONSUMES EventOFPPacketIn > CONSUMES EventOFPSwitchFeatures > BRICK SwitchCommander > CONSUMES EventOFPHello > CONSUMES EventOFPMultipartReply > CONSUMES EventOFPEchoRequest > CONSUMES EventOFPSwitchFeatures > BRICK ofp_event > PROVIDES EventOFPHello TO {'SwitchCommander': set(['handshake'])} > PROVIDES EventOFPMultipartReply TO {'SwitchCommander': set(['handshake', > 'main', 'config'])} > PROVIDES EventOFPPacketIn TO {'SimpleSwitch13': set(['main'])} > PROVIDES EventOFPEchoRequest TO {'SwitchCommander': set(['main'])} > PROVIDES EventOFPSwitchFeatures TO {'SimpleSwitch13': set(['config']), > 'SwitchCommander': set(['config'])} > CONSUMES EventOFPPortStatus > CONSUMES EventOFPErrorMsg > CONSUMES EventOFPEchoRequest > CONSUMES EventOFPEchoReply > CONSUMES EventOFPPortDescStatsReply > CONSUMES EventOFPSwitchFeatures > CONSUMES EventOFPHello > connected socket:<eventlet.greenio.base.GreenSocket object at 0xa2efbec> > address:('192.168.56.101', 57014) > EVENT ofp_event->SwitchCommander EventOFPHello > hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xa2ea92c> > move onto config mode > connected socket:<eventlet.greenio.base.GreenSocket object at 0xa2efd2c> > address:('192.168.56.101', 57015) > EVENT ofp_event->SwitchCommander EventOFPHello > hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xa2d654c> > move onto config mode >>>> openflow v1.3 Hello message has been received >>>> openflow v1.3 Hello message has been received > EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures > EVENT ofp_event->SwitchCommander EventOFPSwitchFeatures > switch features ev > version=0x4,msg_type=0x6,msg_len=0x20,xid=0x3c009c3a,OFPSwitchFeatures(auxiliary_id=0,capabilities=71,datapath_id=2,n_buffers=256,n_tables=254) >>>> openflow v1.3 FeaturesReply message has been received from switch 2 > EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures > EVENT ofp_event->SwitchCommander EventOFPSwitchFeatures > switch features ev > version=0x4,msg_type=0x6,msg_len=0x20,xid=0x9685eb96L,OFPSwitchFeatures(auxiliary_id=0,capabilities=71,datapath_id=1,n_buffers=256,n_tables=254) >>>> openflow v1.3 FeaturesReply message has been received from switch 1 > move onto main mode > move onto main mode > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 2 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 1 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 2 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 1 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 2 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 1 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 2 > EVENT ofp_event->SwitchCommander EventOFPEchoRequest >>>> openflow v1.3 EchoRequest message has been received from swich 1 > --- > > Thanks in advance. > > Helcio > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > > > > _______________________________________________ > Ryu-devel mailing list > Ryu-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ryu-devel > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Ryu-devel mailing list Ryu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ryu-devel