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?
If I don't have "ryu.app.gre_tunnel" in RYU_APPS, will I still be able to use
GRE tunnel between OVS's?
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
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel