Hi, Iwase. Thanks for answering.

   Actually, I've explicitly added the types of MultipartReply messages as
the code you shown. Unfortunately, I still don't see any of them (even
though they exist). The trace below shows what I'm talking about:
---
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 EventOFPSwitchFeatures
  CONSUMES EventOFPPacketIn
BRICK SwitchCommander
  CONSUMES EventOFPSwitchFeatures
  CONSUMES EventOFPStatsReply
  CONSUMES EventOFPQueueDescStatsReply
  CONSUMES EventOFPMeterStatsReply
  CONSUMES EventOFPPortStatsReply
  CONSUMES EventOFPAggregateStatsReply
  CONSUMES EventOFPFlowStatsReply
  CONSUMES EventOFPMeterFeaturesStatsReply
  CONSUMES EventOFPGroupDescStatsReply
  CONSUMES EventOFPGroupFeaturesStatsReply
  CONSUMES EventOFPMeterConfigStatsReply
  CONSUMES EventOFPTableFeaturesStatsReply
  CONSUMES EventOFPGroupStatsReply
  CONSUMES EventOFPHello
  CONSUMES EventOFPEchoRequest
  CONSUMES EventOFPQueueStatsReply
  CONSUMES EventOFPPortDescStatsReply
  CONSUMES EventOFPTableStatsReply
  CONSUMES EventOFPDescStatsReply
BRICK ofp_event
  PROVIDES EventOFPSwitchFeatures TO {'SimpleSwitch13': set(['config']),
'SwitchCommander': set(['config'])}
  PROVIDES EventOFPStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPQueueDescStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPHello TO {'SwitchCommander': set(['handshake'])}
  PROVIDES EventOFPPortStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPAggregateStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPMeterStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPMeterFeaturesStatsReply TO {'SwitchCommander':
set(['main'])}
  PROVIDES EventOFPPortDescStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPGroupDescStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPGroupFeaturesStatsReply TO {'SwitchCommander':
set(['main'])}
  PROVIDES EventOFPMeterConfigStatsReply TO {'SwitchCommander':
set(['main'])}
  PROVIDES EventOFPTableFeaturesStatsReply TO {'SwitchCommander':
set(['main'])}
  PROVIDES EventOFPGroupStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPEchoRequest TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPQueueStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPDescStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPFlowStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPTableStatsReply TO {'SwitchCommander': set(['main'])}
  PROVIDES EventOFPPacketIn TO {'SimpleSwitch13': set(['main'])}
  CONSUMES EventOFPHello
  CONSUMES EventOFPSwitchFeatures
  CONSUMES EventOFPPortStatus
  CONSUMES EventOFPErrorMsg
  CONSUMES EventOFPEchoRequest
  CONSUMES EventOFPEchoReply
  CONSUMES EventOFPPortDescStatsReply
connected socket:<eventlet.greenio.base.GreenSocket object at 0xa8d748c>
address:('127.0.0.1', 46673)
EVENT ofp_event->SwitchCommander EventOFPHello
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xa8bb9cc>
move onto config mode
connected socket:<eventlet.greenio.base.GreenSocket object at 0xa8d75ec>
address:('127.0.0.1', 46674)
EVENT ofp_event->SwitchCommander EventOFPHello
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0xa8bb56c>
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=0xf18d8275L,OFPSwitchFeatures(auxiliary_id=0,capabilities=79,datapath_id=1,n_buffers=256,n_tables=254)
>>> openflow v1.3 FeaturesReply message has been received from switch 1
move onto main mode
EVENT ofp_event->SimpleSwitch13 EventOFPSwitchFeatures
EVENT ofp_event->SwitchCommander EventOFPSwitchFeatures
switch features ev
version=0x4,msg_type=0x6,msg_len=0x20,xid=0xfe9e7591L,OFPSwitchFeatures(auxiliary_id=0,capabilities=79,datapath_id=2,n_buffers=256,n_tables=254)
>>> openflow v1.3 FeaturesReply message has been received from switch 2
move onto main mode
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->SimpleSwitch13 EventOFPPacketIn
packet in 1 9a:1e:65:66:82:6b 33:33:00:00:00:fb 3
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
packet in 2 0a:da:e5:fe:b9:c9 33:33:00:00:00:fb 3
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
packet in 1 9a:1e:65:66:82:6b 33:33:00:00:00:fb 3
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
packet in 2 0a:da:e5:fe:b9:c9 33:33:00:00:00:fb 3
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
packet in 1 9a:1e:65:66:82:6b 33:33:00:00:00:fb 3
EVENT ofp_event->SimpleSwitch13 EventOFPPacketIn
packet in 2 0a:da:e5:fe:b9:c9 33:33:00:00:00:fb 3
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
---
   As a final point, here is the event handler:
---
@set_ev_cls([ofp_event.EventOFPStatsReply,
                 ofp_event.EventOFPDescStatsReply,
                 ofp_event.EventOFPFlowStatsReply,
                 ofp_event.EventOFPAggregateStatsReply,
                 ofp_event.EventOFPTableStatsReply,
                 ofp_event.EventOFPTableFeaturesStatsReply,
                 ofp_event.EventOFPPortStatsReply,
                 ofp_event.EventOFPQueueStatsReply,
                 ofp_event.EventOFPQueueDescStatsReply,
                 ofp_event.EventOFPMeterStatsReply,
                 ofp_event.EventOFPMeterFeaturesStatsReply,
                 ofp_event.EventOFPMeterConfigStatsReply,
                 ofp_event.EventOFPGroupStatsReply,
                 ofp_event.EventOFPGroupFeaturesStatsReply,
                 ofp_event.EventOFPGroupDescStatsReply,
                 ofp_event.EventOFPPortDescStatsReply
                 ], 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)
---
   Best regards.

   Helcio

2016-12-15 2:50 GMT-03:00 Iwase Yusuke <iwase.yusu...@gmail.com>:

> 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

Reply via email to