Hi,
I'm trying to work with Ryu using OpenFlow 1.3. I wrote a Ryu application
that prints a message when a client connects or disconnects to Ryu.
# switch connected/disconnected event
@set_ev_cls(dpset.EventDP)
def dp_handler(self, ev):
# return if disconnected
if not ev.enter:
self.logger.debug('dp_handler: disconnected')
return
self.logger.debug('dp_handler: connected')
When connecting an OpenFlow 1.0 client the application works as expected.
However, when connecting an OpenFlow 1.3 client the application crashes with
the following information:
instantiating app ryu.controller.ofp_handler
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 "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py",
line 106, in _event_loop
handler(ev)
File "/usr/local/lib/python2.7/dist-packages/ryu/controller/dpset.py",
line 164, in switch_features_handler
datapath.ports = msg.ports
AttributeError: 'OFPSwitchFeatures' object has no attribute 'ports'
<Greenlet at 0x9f0f6ac: <bound method DPSet._event_loop of
<ryu.controller.dpset.DPSet object at 0x9c42a6c>>> failed with
AttributeError
It seems switch_features_handler is not handling well an OpenFlow 1.3
FEATURES_REPLY message, which doesn't contain port information (as opposed
to OpenFlow 1.0 FEATURES_REPLY message). Any suggestions how to overcome
this problem are welcomed.
Thanks,
Oren
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel