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&reg; 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

Reply via email to