Hi Yusuke, 

Thanks so much for the analysis. I will have Juniper dev to fix this from
switch side. On RYU side, even on receipt of malformed packets ( with any
trigger), the controller shouldn’t core right?
When controller cores, switch also reset the tcp connection and subsequent
flow flush.  Do you have plans to fix it?

-Ashok

On 11/12/14, 8:13 PM, "Yusuke Iwase" <[email protected]> wrote:

>Hi,
>
>On 2014年11月13日 10:49, Ashok Jude wrote:
>> HI Yusuke
>> 
>> <<And, which FlowStats message do you mean?
>> <<It seems 3 FlowStats messages are included in your attached file.
>> <<Is it the 1st one or the 2nd one?
>> 
>> All are the same. I tried requested multiple flow stats messages to OF
>> switch ( which is Juniper MX) and every time controller reseted.
>> If you suspect if switch sending any malformed packets - would you mind
>> pointing that in pcap. Regardless, RYU shouldn’t reset right?
>
>I think oxm_length is wrong in the OXM field.
>  e.g.) OFPXMT_OFB_IPV6_DST, OFPXMT_OFB_IPV6_SRC
>
>If oxm_hasmask is 1, oxm_length should be doubled.
>
>For example, oxm_length should be 32byte (not 16byte),
>if OFPXMT_OFB_IPV6_DST contains oxm_hasmask.
>
>Please check the attached file which is the test result of Open vSwitch.
>
>
>> 
>> Thanks for the help.
>> 
>> 
>> 
>> On 11/12/14, 5:39 PM, "Yusuke Iwase" <[email protected]> wrote:
>> 
>>> Hi,
>>>
>>> I found the same bug report in the Ryu-devel Mail Archive.
>>> Could you check this messages below?
>>>
>>> --- Mail Archive
>>> ---------------------------------------------------------------------
>>>
>>> On Mar 16, 2014, at 5:38 AM, FUJITA Tomonori
>>> <[email protected]>
>>> wrote:
>>>
>>>> On Fri, 14 Mar 2014 13:44:08 -0700
>>>> [email protected] wrote:
>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I am experiencing an runtime exception with Ryu, when i entered this
>>>>> REST 
>>>>> request:
>>>>>
>>>>> curl http://0.0.0.0:8080/stats/flow/272744406898180
>>>>>
>>>>> The log is as below:
>>>>>
>>>>> (16470) accepted ('127.0.0.1', 46669)
>>>>> Error in the datapath 0000f80f417cd604 from ('10.1.10.199', 56049)
>>>>> hub: uncaught exception: Traceback (most recent call last):
>>>>>  File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
>>>>> 48, in 
>>>>> _launch
>>>>>    func(*args, **kwargs)
>>>>>  File 
>>>>> 
>>>>>"/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>>> line 295, in datapath_connection_factory
>>>>>    datapath.serve()
>>>>>  File 
>>>>> 
>>>>>"/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>>> line 215, in serve
>>>>>    self._recv_loop()
>>>>>  File 
>>>>> 
>>>>>"/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>>> line 93, in deactivate
>>>>>    method(self)
>>>>>  File 
>>>>> 
>>>>>"/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>>> line 147, in _recv_loop
>>>>>    version, msg_type, msg_len, xid, buf)
>>>>>  File 
>>>>>
>>>>> 
>>>>>"/usr/local/lib/python2.7/dist-packages/ryu/ofproto/ofproto_parser.py"
>>>>>,
>>>>> line 
>>>>> 62, in msg
>>>>>    version, msg_type, msg_len, xid, utils.bytearray_to_hex(buf))
>>>>>  File "/usr/local/lib/python2.7/dist-packages/ryu/utils.py", line
>>>>>103,
>>>>> in 
>>>>> bytearray_to_hex
>>>>>    return ' '.join(hex(ord(byte)) for byte in data)
>>>>>  File "/usr/local/lib/python2.7/dist-packages/ryu/utils.py", line
>>>>>103,
>>>>> in 
>>>>> <genexpr>
>>>>>    return ' '.join(hex(ord(byte)) for byte in data)
>>>>> TypeError: ord() expected string of length 1, but int found
>>>>>
>>>>>
>>>>> Any idea what is wrong or any advice how to fix it will be very
>>>>> appreciated.
>>>>
>>>> Looks like that the switch sent a malformed flow stats response. What
>>>> OF switch you use?
>>>
>>> 
>>>------------------------------------------------------------------------
>>>--
>>> ------------
>>>
>>> And, which FlowStats message do you mean?
>>> It seems 3 FlowStats messages are included in your attached file.
>>> Is it the 1st one or the 2nd one?
>>>
>>> On 2014年11月12日 11:16, Ashok Jude wrote:
>>>> Hi RYU team, 
>>>>
>>>> I am seeing following issue with RYU.  I am testing flow stats request
>>>> with vendor hardware switch using OF1.3.1
>>>>
>>>> Step 1 : Pushed the below flow from RYU to switch. The flow gets
>>>> installed rightly.
>>>>
>>>> curl -X POST -d '{"dpid": "71145865295808","priority":"1","match":
>>>> {"in_port": "2","dl_type":"34525","ipv6_src":"2001::/64","ipv6_dst":
>>>> "1001::1","nw_proto":"6","tcp_src":"1"},"actions": [{"type": "OUTPUT",
>>>> "port": "1"}]}' http://localhost:8080/stats/flowentry/add
>>>>
>>>>
>>>> This can be any type of flow for this matter.
>>>>
>>>>
>>>> Step2: Using the below curl command requested for flow stats.
>>>>
>>>>
>>>> curl -X GET http://localhost:8080/stats/flow/71145865295808
>>>>
>>>>
>>>> At this point, RYU cored with traceback and reseted the controller
>>>> connection. Attached the PCAP as well.  Can you help troubleshoot or
>>>>fix
>>>> this issue w.r.t to RYU?
>>>>
>>>>
>>>> 127.0.0.1 - - [11/Nov/2014 20:11:15] "GET /stats/flow/110533271024824
>>>> HTTP/1.1" 404 122 0.000394
>>>> (1968) accepted ('127.0.0.1', 48296)
>>>> Error in the datapath 000040b4f00737c0 from ('10.102.143.26', 54049)
>>>> EVENT ofp_event->dpset EventOFPStateChange
>>>> hub: uncaught exception: Traceback (most recent call last):
>>>>   File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
>>>> 52, in _launch
>>>>     func(*args, **kwargs)
>>>>   File 
>>>> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>> line 306, in datapath_connection_factory
>>>>     datapath.serve()
>>>>   File 
>>>> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>> line 226, in serve
>>>>     self._recv_loop()
>>>>   File 
>>>> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>> line 102, in deactivate
>>>>     method(self)
>>>>   File 
>>>> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
>>>> line 157, in _recv_loop
>>>>     version, msg_type, msg_len, xid, buf)
>>>>   File 
>>>> 
>>>>"/usr/local/lib/python2.7/dist-packages/ryu/ofproto/ofproto_parser.py",
>>>> line 63, in msg
>>>>     version, msg_type, msg_len, xid, utils.bytearray_to_hex(buf))
>>>>   File "/usr/local/lib/python2.7/dist-packages/ryu/utils.py", line
>>>>103,
>>>> in bytearray_to_hex
>>>>     return ' '.join(hex(ord(byte)) for byte in data)
>>>>   File "/usr/local/lib/python2.7/dist-packages/ryu/utils.py", line
>>>>103,
>>>> in <genexpr>
>>>>     return ' '.join(hex(ord(byte)) for byte in data)
>>>> TypeError: ord() expected string of length 1, but int found
>>>>
>>>>
>>>>
>>>>
>>>> _
>>>> _
>>>>
>>>>
>>>>
>>>>
>>>> 
>>>>-----------------------------------------------------------------------
>>>>--
>>>> -----
>>>> Comprehensive Server Monitoring with Site24x7.
>>>> Monitor 10 servers for $9/Month.
>>>> Get alerted through email, SMS, voice calls or mobile push
>>>> notifications.
>>>> Take corrective actions from your mobile device.
>>>>
>>>> 
>>>>http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.c
>>>>lk
>>>> trk
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Ryu-devel mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>>>
>> 


------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to