On Tue, Mar 26, 2013 at 11:06:40PM -0700, Yue Chen wrote:
> Hi,
>
> I ran into a crash when integrating a Pica8 switch with Ryu Manager running on
> the following devstack image from https://github.com/osrg/ryu/wiki/
> RYU-OpenStack-Folsom-environment-VM-image-file-HOWTO
>
> The Pica8 switch was running in Open vSwitch mode, with version 1.6.1
> software.
>
> 192.168.0.8 pica8 switch
> 192.168.0.10 openstack controller with ryu-manager
>
> With the above devstack image running, I issued the following commands to the
> Pica8 switch
> ovs-vsctl --db=tcp:192.168.0.8:6633 add-br br-int -- set bridge
> br-int datapath_type=pica8 other_config=datapath-id=000060EB69D29CDE
> ovs-vsctl --db=tcp:192.168.0.8:6633 set-controller br-int
> tcp:192.168.0.10:6633
>
> This cause the Pica8 switch to initiate the connection, but the ryu-manager
> prompted rejected and terminated the TCP connection. Below is the --verbose
> output from ryu-manager.
>
> It's worth noting that this issue doesn't happen if I removed "
> ryu.app.gre_tunnel" from RYU_APPS variable in localrc file.
>
> Could you tell me what might have been the cause of this issue?
It seems your pica8 switch is configured to use OF1.2.
> switch features ev version: 0x3 msg_type 0x6 xid 0xac6b1d07
gre_tunnel is supposed to use OF1.0 + nicira extension.
(It should complain about OF versions.)
Can you set up your switch to use OF1.0?
> If I don't have "ryu.app.gre_tunnel" in RYU_APPS, will I still be able to use
> GRE tunnel between OVS's?
No.
thanks,
>
> Thanks,
>
> -------------
> connected socket:<socket fileno=15 sock=192.168.0.10:6633 peer=
> 192.168.0.8:60781> address:('192.168.0.8', 60781)
> unhandled event <ryu.controller.dispatcher.EventQueueCreate object at
> 0x2b3d310>
> hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x2b3d510>
> move onto config mode
> dispatcher change q ofp_msg dispatcher ofp_config
> switch features ev version: 0x3 msg_type 0x6 xid 0xac6b1d07
> move onto main mode
> dispatcher change q ofp_msg dispatcher ofp_main
> DPSET: register datapath <ryu.controller.controller.Datapath object at
> 0x2abaed0>
> Traceback (most recent call last):
> File "/opt/stack/ryu/ryu/controller/controller.py", line 67, in deactivate
> method(self)
> File "/opt/stack/ryu/ryu/controller/controller.py", line 143, in _recv_loop
> self.ev_q.queue(ofp_event.ofp_msg_to_ev(msg))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 109, in queue
> self._dispatcher(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 174, in __call__
> self.dispatch(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 191, in dispatch
> handled = self._dispatch(ev, self.events.get(ev.__class__, []))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 182, in _dispatch
> ret = h(ev)
> File "/opt/stack/ryu/ryu/controller/ofp_handler.py", line 96, in
> switch_features_handler
> ev.msg.datapath.ev_q.set_dispatcher(MAIN_DISPATCHER)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 84, in
> set_dispatcher
> self._queue_q_ev(EventDispatcherChange(self, old, new))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 43, in _queue_q_ev
> ev_q.queue(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 109, in queue
> self._dispatcher(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 174, in __call__
> self.dispatch(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 191, in dispatch
> handled = self._dispatch(ev, self.events.get(ev.__class__, []))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 182, in _dispatch
> ret = h(ev)
> File "/opt/stack/ryu/ryu/controller/dpset.py", line 165, in dispacher_change
> self.register(datapath)
> File "/opt/stack/ryu/ryu/controller/dpset.py", line 116, in register
> self.ev_q.queue(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 109, in queue
> self._dispatcher(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 174, in __call__
> self.dispatch(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 191, in dispatch
> handled = self._dispatch(ev, self.events.get(ev.__class__, []))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 182, in _dispatch
> ret = h(ev)
> File "/opt/stack/ryu/ryu/app/gre_tunnel.py", line 445, in dp_handler
> dp.send_nxt_set_flow_format(ofproto.NXFF_NXM)
> AttributeError: 'module' object has no attribute 'NXFF_NXM'
> Error in the datapath 106564208991454 from ('192.168.0.8', 60781)
> dispatcher change q ofp_msg dispatcher ofp_dead
> DPSET: unregister datapath <ryu.controller.controller.Datapath object at
> 0x2abaed0>
> dp disconnection ev:<ryu.controller.dpset.EventDP object at 0x2b5d250>
> Traceback (most recent call last):
> File "/usr/lib/python2.7/dist-packages/gevent/greenlet.py", line 390, in run
> result = self._run(*self.args, **self.kwargs)
> File "/opt/stack/ryu/ryu/controller/controller.py", line 272, in
> datapath_connection_factory
> datapath.serve()
> File "/opt/stack/ryu/ryu/controller/controller.py", line 188, in serve
> self._recv_loop()
> File "/opt/stack/ryu/ryu/controller/controller.py", line 67, in deactivate
> method(self)
> File "/opt/stack/ryu/ryu/controller/controller.py", line 143, in _recv_loop
> self.ev_q.queue(ofp_event.ofp_msg_to_ev(msg))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 109, in queue
> self._dispatcher(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 174, in __call__
> self.dispatch(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 191, in dispatch
> handled = self._dispatch(ev, self.events.get(ev.__class__, []))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 182, in _dispatch
> ret = h(ev)
> File "/opt/stack/ryu/ryu/controller/ofp_handler.py", line 96, in
> switch_features_handler
> ev.msg.datapath.ev_q.set_dispatcher(MAIN_DISPATCHER)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 84, in
> set_dispatcher
> self._queue_q_ev(EventDispatcherChange(self, old, new))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 43, in _queue_q_ev
> ev_q.queue(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 109, in queue
> self._dispatcher(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 174, in __call__
> self.dispatch(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 191, in dispatch
> handled = self._dispatch(ev, self.events.get(ev.__class__, []))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 182, in _dispatch
> ret = h(ev)
> File "/opt/stack/ryu/ryu/controller/dpset.py", line 165, in dispacher_change
> self.register(datapath)
> File "/opt/stack/ryu/ryu/controller/dpset.py", line 116, in register
> self.ev_q.queue(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 109, in queue
> self._dispatcher(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 174, in __call__
> self.dispatch(ev)
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 191, in dispatch
> handled = self._dispatch(ev, self.events.get(ev.__class__, []))
> File "/opt/stack/ryu/ryu/controller/dispatcher.py", line 182, in _dispatch
> ret = h(ev)
> File "/opt/stack/ryu/ryu/app/gre_tunnel.py", line 445, in dp_handler
> dp.send_nxt_set_flow_format(ofproto.NXFF_NXM)
> AttributeError: 'module' object has no attribute 'NXFF_NXM'
> <Greenlet at 0x2abc2f8: datapath_connection_factory(<socket at 0x2abafd0
> fileno
> =15 sock=192.168.0.10:6, ('192.168.0.8', 60781))> failed with AttributeError
>
>
> ------------------------------------------------------------------------------
> Own the Future-Intel® Level Up Game Demo Contest 2013
> Rise to greatness in Intel's independent game demo contest.
> Compete for recognition, cash, and the chance to get your game
> on Steam. $5K grand prize plus 10 genre and skill prizes.
> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
> _______________________________________________
> Ryu-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ryu-devel
--
yamahata
------------------------------------------------------------------------------
Own the Future-Intel® Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest.
Compete for recognition, cash, and the chance to get your game
on Steam. $5K grand prize plus 10 genre and skill prizes.
Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel