Discussion:
[Ryu-devel] bug: KeyError EventOFPErrorExperimenterMsg
Hu Dingyuan
2017-07-11 02:07:49 UTC
Permalink
Hi,
When I use ryu to send a apply actions message, a error occurred.
match=OFPMatch(oxm_fields={'in_port': 7, 'eth_type': 2048, 'ipv4_src': '192.0.2.129', 'ipv4_dst': '10.0.2.104'}), instructions=[OFPInstructionActions(actions=[OFPActionSetField(eth_src='b6:9f:5d:cf:64:a8'), OFPActionSetField(eth_dst='b6:9f:5d:cf:64:a8'), OFPActionSetField(ipv4_src='10.18.0.1/32'), OFPActionSetField(ip_dscp=4), OFPActionSetField(ip_ecn=2), OFPActionDecNwTtl(len=8,type=24), OFPActionOutput(len=16,max_len=65509,port=7,type=0)],type=4), OFPInstructionGotoTable(len=8,table_id=<FlowTable.transit_counter: 110>,type=1)]

This error only occurred few times, I am not sure about why it happened.
It should be a bug of ryu?

Error in the datapath 000000ecaccde88b from ('2001:da8:215:8f2:2ec:acff:fecd:e890', 41324, 0, 0)
hub: uncaught exception: Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/ryu/lib/hub.py", line 60, in _launch
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 460, in datapath_connection_factory
datapath.serve()
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 378, in serve
self._recv_loop()
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 132, in deactivate
method(self)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 273, in _recv_loop
ev = ofp_event.ofp_msg_to_ev(msg)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/ofp_event.py", line 66, in ofp_msg_to_ev
return ofp_msg_to_ev_cls(msg.__class__)(msg)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/ofp_event.py", line 71, in ofp_msg_to_ev_cls
return _OFP_MSG_EVENTS[name]
KeyError: 'EventOFPErrorExperimenterMsg'
Iwase Yusuke
2017-07-18 02:48:47 UTC
Permalink
Hi Hu,

It seems a bug of Ryu.
When Ryu receives OFPT_ERROR messages with OFPET_EXPERIMENTER type, Ryu will successfully parse
OFPT_ERROR messages, but will fail to convert messages into events for Ryu applications.

The attached patch should fix this problem on only OF 1.3.
Could you try this?

Thanks,
Iwase
Post by Hu Dingyuan
Hi,
When I use ryu to send a apply actions message, a error occurred.
'10.0.2.104'}),
instructions=[OFPInstructionActions(actions=[OFPActionSetField(eth_src='b6:9f:5d:cf:64:a8'),
OFPActionSetField(eth_dst='b6:9f:5d:cf:64:a8'), OFPActionSetField(ipv4_src='10.18.0.1/32'),
OFPActionSetField(ip_dscp=4), OFPActionSetField(ip_ecn=2), OFPActionDecNwTtl(len=8,type=24),
OFPActionOutput(len=16,max_len=65509,port=7,type=0)],type=4),
OFPInstructionGotoTable(len=8,table_id=<FlowTable.transit_counter: 110>,type=1)]
This error only occurred few times, I am not sure about why it happened.
It should be a bug of ryu?
Error in the datapath 000000ecaccde88b from ('2001:da8:215:8f2:2ec:acff:fecd:e890', 41324, 0, 0)
File "/usr/local/lib/python3.6/site-packages/ryu/lib/hub.py", line 60, in _launch
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 460, in
datapath_connection_factory
datapath.serve()
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 378, in serve
self._recv_loop()
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 132, in deactivate
method(self)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/controller.py", line 273, in _recv_loop
ev = ofp_event.ofp_msg_to_ev(msg)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/ofp_event.py", line 66, in ofp_msg_to_ev
return ofp_msg_to_ev_cls(msg.__class__)(msg)
File "/usr/local/lib/python3.6/site-packages/ryu/controller/ofp_event.py", line 71, in
ofp_msg_to_ev_cls
return _OFP_MSG_EVENTS[name]
KeyError: 'EventOFPErrorExperimenterMsg'
------------------------------------------------------------------------------
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
https://lists.sourceforge.net/lists/listinfo/ryu-devel
Loading...