Hi,

I checked your attached file,
I think the switch sent a malformed message.

Please check the attached file which is the test result of Open vSwitch.


oxm_length of OFPXMT_OFB_MPLS_LABEL in OFPAT_SET_FIELD is wrong.
oxm_length in your file is 3.
I guess oxm_length of OFPXMT_OFB_MPLS_LABEL must be 4.

In Addition, padding after the Match field is not zero.
Padding of this field in your file is 5de93b7f0000.
I guess the padding fields should be set to zero.
(But this is not root cause of this problem, I think...)



On 2014年11月12日 19:03, Jalee Lee wrote:
> Dear All,
> I verify again, I found out use restful-api get flow state, the controller
> had output error message and no output flow state. In attached
> file(packets number:11), you can saw switch had output message to
> controller,
> Can you help check this again.
> Thanks,
> 
> Jalee
> 
> 
> ================================ ryu error message
> lab@lab-hackertools:~$ (12852) accepted ('10.1.25.52', 52413)
> 10.1.25.52 - - [12/Nov/2014 17:23:46] "POST /stats/flowentry/add HTTP/1.1"
> 200 115 0.001836
> (12852) accepted ('10.1.25.52', 52414)
> Error in the datapath 0000000000000009 from ('10.1.25.24', 38998)
> EVENT ofp_event->switches EventOFPStateChange
> 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
> 
> <ryu.controller.controller.Datapath object at 0x3a5f550>
> unregister Switch<dpid=9, Port<dpid=9, port_no=1, DOWN> Port<dpid=9,
> port_no=2, DOWN> Port<dpid=9, port_no=3, DOWN> Port<dpid=9, port_no=4,
> DOWN> Port<dpid=9, port_no=5, DOWN> Port<dpid=9, port_no=6, DOWN>
> Port<dpid=9, port_no=7, DOWN> Port<dpid=9, port_no=8, DOWN> Port<dpid=9,
> port_no=9, DOWN> Port<dpid=9, port_no=10, DOWN> Port<dpid=9, port_no=11,
> DOWN> Port<dpid=9, port_no=12, DOWN> Port<dpid=9, port_no=13, DOWN>
> Port<dpid=9, port_no=14, DOWN> Port<dpid=9, port_no=15, DOWN> Port<dpid=9,
> port_no=16, DOWN> Port<dpid=9, port_no=17, DOWN> Port<dpid=9, port_no=18,
> DOWN> Port<dpid=9, port_no=19, DOWN> Port<dpid=9, port_no=20, DOWN>
> Port<dpid=9, port_no=21, DOWN> Port<dpid=9, port_no=22, DOWN> Port<dpid=9,
> port_no=23, DOWN> Port<dpid=9, port_no=24, DOWN> Port<dpid=9, port_no=25,
> DOWN> Port<dpid=9, port_no=26, DOWN> Port<dpid=9, port_no=27, DOWN>
> Port<dpid=9, port_no=28, DOWN> Port<dpid=9, port_no=29, DOWN> Port<dpid=9,
> port_no=30, DOWN> Port<dpid=9, port_no=31, DOWN> Port<dpid=9, port_no=32,
> DOWN> Port<dpid=9, port_no=33, DOWN> Port<dpid=9, port_no=34, DOWN>
> Port<dpid=9, port_no=35, DOWN> Port<dpid=9, port_no=36, DOWN> Port<dpid=9,
> port_no=37, DOWN> Port<dpid=9, port_no=38, DOWN> Port<dpid=9, port_no=39,
> DOWN> Port<dpid=9, port_no=40, DOWN> Port<dpid=9, port_no=41, DOWN>
> Port<dpid=9, port_no=42, DOWN> Port<dpid=9, port_no=43, DOWN> Port<dpid=9,
> port_no=44, DOWN> Port<dpid=9, port_no=45, DOWN> Port<dpid=9, port_no=46,
> LIVE> Port<dpid=9, port_no=47, DOWN> Port<dpid=9, port_no=48, LIVE> >
> DPSET: unregister datapath <ryu.controller.controller.Datapath object at
> 0x3a5f550>
> 10.1.25.52 - - [12/Nov/2014 17:24:08] "GET /stats/flow/9 HTTP/1.1" 200 131
> 1.000700
> 
> lab@lab-hackertools:~$
> 
> 
> 
> ======================== flow entry log.
> curl -d '{"cookie": "1",
>           "dpid": "9",
>           "priority": "1024",
>           "match": {"in_port": "46",
>                     "eth_type": 0x800},
>           "actions": [{"type": "PUSH_MPLS", "ethertype":0x8847},
>                       {"type": "SET_FIELD", "field": "mpls_label",
> "value":16},
>                       {"type": "SET_FIELD", "field":"eth_dst",
> "value":"00:00:00:11:22:33"},
>                       {"type": "OUTPUT", "port": "48"}]}'
> http://10.1.25.52:8080/stats/flowentry/add
> 
> 
> 
> lab@lab-hackertools:~$
> lab@lab-hackertools:~$ curl -d '{"cookie": "1",
>>           "dpid": "9",
>>           "priority": "1024",
>>           "match": {"in_port": "46",
>>                     "eth_type": 0x800},
>>           "actions": [{"type": "PUSH_MPLS", "ethertype":0x8847},
>>                       {"type": "SET_FIELD", "field": "mpls_label",
>> "value":16},
>>                       {"type": "SET_FIELD", "field":"eth_dst",
>> "value":"00:00:00:11:22:33"},
>>                       {"type": "OUTPUT", "port": "48"}]}'
>> http://10.1.25.52:8080/stats/flowentry/add
> lab@lab-hackertools:~$
> lab@lab-hackertools:~$ curl -X GET http://10.1.25.52:8080/stats/flow/9
> {"9": []}lab@lab-hackertools:~$
> 
> 
> 
> 
> 於 11/7/14, 19:25,"Jalee Lee" <[email protected]> 寫道:
> 
>> Got it, I think is my switch issue.
>> Thanks,
>>
>> Jalee
>>
>> 於 10/31/14, 15:11,"Yusuke Iwase" <[email protected]> 寫道:
>>
>>> Hi,
>>>
>>> Please check the mail address to Ryu-devel.
>>> [email protected]
>>>
>>> On 2014年10月31日 01:58, Jalee Lee wrote:
>>>> Dear All,
>>>> I have a question about get flow stats, I use two flow entry for this
>>>> time test, one is L2+3+4 flow entry another flow entry have include
>>>> MPLS 
>>>> function.
>>>> I found out get L2+3+4 flow entry is ok, but get include MPLS function
>>>> will be fail.
>>>> In attached file, you can saw switch had output message to controller,
>>>> can you help verify this issue?
>>>> Thanks,
>>>>
>>>>
>>>> Jalee
>>>>
>>>> ========================================== log
>>>>
>>>> lab@lab-hackertools:~$
>>>>
>>>> lab@lab-hackertools:~$ curl -X GET http://10.1.25.52:8080/stats/flow/9
>>>>
>>>> {"9": [{"actions": ["SET_FIELD: {eth_dst:0e:00:5e:0a:0a:0a}",
>>>> "SET_FIELD: {eth_src:00:08:11:0a:0a:0a}", "SET_FIELD: {vlan_pcp:1}",
>>>> "SET_FIELD: {vlan_vid:102}", "SET_FIELD: {ipv4_src:100.0.0.1}",
>>>> "SET_FIELD: {ipv4_dst:200.0.0.1}", "SET_FIELD: {tcp_src:3333}",
>>>> "SET_FIELD: {tcp_dst:4444}", "OUTPUT:2", "OUTPUT:48"], "idle_timeout":
>>>> 0, "cookie": 1, "packet_count": 0, "hard_timeout": 0, "byte_count": 0,
>>>> "length": 312, "duration_nsec": 750505000, "priority": 23999,
>>>> "duration_sec": 19, "table_id": 0, "flags": 0, "match": {"dl_type":
>>>> 2048, "nw_dst": "40.0.0.1", "vlan_pcp": 0, "dl_src":
>>>> "00:90:22:22:22:22/ff:ff:ff:ff:ff:ff", "nw_proto": 6, "tp_dst": 22222,
>>>> "tp_src": 11111, "dl_dst": "00:90:11:11:11:11/ff:ff:ff:ff:ff:ff",
>>>> "dl_vlan": 4095, "nw_src": "30.0.0.1", "in_port":
>>>> 46}}]}lab@lab-hackertools:~$
>>>>
>>>> lab@lab-hackertools:~$
>>>>
>>>> lab@lab-hackertools:~$
>>>>
>>>> lab@lab-hackertools:~$ curl -d '{"cookie": "1",
>>>>>           "dpid": "9",
>>>>>           "priority": "1024",
>>>>>           "match": {"in_port": "24",
>>>>>                     "eth_type": 0x800},
>>>>>           "actions": [{"type":"PUSH_MPLS","ethertype":0x8847},
>>>>>                       {"type":"SET_FIELD", "field": "mpls_label",
>>>>> "value":16},
>>>>>                       {"type": "SET_FIELD", "field":"eth_dst",
>>>>> "value":"00:00:00:11:22:33"},
>>>>>                       {"type": "OUTPUT", "port": "26"}]}'
>>>>> http://10.1.25.52:8080/stats/flowentry/add
>>>
>>>
>>> Hmm, I could add the flow entry like as follows.
>>>
>>> =========================================================================
>>> =
>>> ==================
>>> Ryu: ryu 3.14
>>> Switch: (Open vSwitch) 2.3.90
>>> =========================================================================
>>> =
>>> ==================
>>> $ curl -d '{
>>>>             "dpid": "9",
>>>>             "actions": [
>>>>                 {"type": "SET_FIELD", "field": "eth_dst", "value":
>>>> "0e:00:5e:0a:0a:0a"},
>>>>                 {"type": "SET_FIELD", "field": "eth_src", "value":
>>>> "00:08:11:0a:0a:0a"},
>>>>                 {"type": "SET_FIELD", "field": "vlan_pcp", "value":
>>>> 1}, 
>>>>                 {"type": "SET_FIELD", "field": "vlan_vid", "value":
>>>> 4198}, 
>>>>                 {"type": "SET_FIELD", "field": "ipv4_src", "value":
>>>> "100.0.0.1"}, 
>>>>                 {"type": "SET_FIELD", "field": "ipv4_dst", "value":
>>>> "200.0.0.1"}, 
>>>>                 {"type": "SET_FIELD", "field": "tcp_src", "value":
>>>> 3333}, 
>>>>                 {"type": "SET_FIELD", "field": "tcp_dst", "value":
>>>> 4444}, 
>>>>                 {"type": "OUTPUT", "port": 2},
>>>>                 {"type": "OUTPUT", "port": 48}
>>>>             ], 
>>>>             "byte_count": 0,
>>>>             "cookie": 1,
>>>>             "cookie_mask": 1,
>>>>             "match": {
>>>>                 "dl_dst": "00:90:11:11:11:11/ff:ff:ff:ff:ff:ff",
>>>>                 "dl_src": "00:90:22:22:22:22/ff:ff:ff:ff:ff:ff",
>>>>                 "dl_type": 2048,
>>>>                 "dl_vlan": 4095,
>>>>                 "in_port": 46,
>>>>                 "nw_dst": "40.0.0.1",
>>>>                 "nw_proto": 6,
>>>>                 "nw_src": "30.0.0.1",
>>>>                 "tp_dst": 22222,
>>>>                 "tp_src": 11111,
>>>>                 "vlan_pcp": 0
>>>>             }, 
>>>>             "priority": 23999
>>>>         }' http://localhost:8080/stats/flowentry/add
>>> $ 
>>> $ curl -X GET http://localhost:8080/stats/flow/9
>>> {"9": [{"actions": ["SET_FIELD: {eth_dst:0e:00:5e:0a:0a:0a}",
>>> "SET_FIELD: 
>>> {eth_src:00:08:11:0a:0a:0a}", "SET_FIELD: {vlan_pcp:1}", "SET_FIELD:
>>> {vlan_vid:4198}", "SET_FIELD: {ipv4_src:100.0.0.1}", "SET_FIELD:
>>> {ipv4_dst:200.0.0.1}", "SET_FIELD: {tcp_src:3333}", "SET_FIELD:
>>> {tcp_dst:4444}", "OUTPUT:2", "OUTPUT:48"], "idle_timeout": 0, "cookie":
>>> 1, "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "length": 304,
>>> "duration_nsec": 13000000, "priority": 23999, "duration_sec": 0,
>>> "table_id": 0, "flags": 0, "match": {"dl_type": 2048, "nw_dst":
>>> "40.0.0.1", "vlan_pcp": 0, "dl_src": "00:90:22:22:22:22", "nw_proto": 6,
>>> "tp_dst": 22222, "tp_src": 11111, "dl_dst": "00:90:11:11:11:11",
>>> "dl_vlan": 4095, "nw_src": "30.0.0.1", "in_port": 46}}]}$
>>> $ 
>>> $ curl -d '{"cookie": "1",
>>>>           "dpid": "9",
>>>>           "priority": "1024",
>>>>           "match": {"in_port": "24",
>>>>                     "eth_type": 2048},
>>>>           "actions": [{"type":"PUSH_MPLS","ethertype":34887},
>>>>                       {"type":"SET_FIELD", "field": "mpls_label",
>>>> "value":16},
>>>>                       {"type": "SET_FIELD", "field":"eth_dst",
>>>> "value":"00:00:00:11:22:33"},
>>>>                       {"type": "OUTPUT", "port": "26"}]}'
>>>> http://localhost:8080/stats/flowentry/add
>>> $ 
>>> $ 
>>> $ curl -X GET http://localhost:8080/stats/flow/9
>>> {"9": [{"actions": ["PUSH_MPLS:34887", "SET_FIELD: {mpls_label:16}",
>>> "SET_FIELD: {eth_dst:00:00:00:11:22:33}", "OUTPUT:26"], "idle_timeout":
>>> 0, "cookie": 1, "packet_count": 0, "hard_timeout": 0, "byte_count": 0,
>>> "length": 136, "duration_nsec": 863000000, "priority": 1024,
>>> "duration_sec": 0, "table_id": 0, "flags": 0, "match": {"dl_type": 2048,
>>> "in_port": 24}}, {"actions": ["SET_FIELD: {eth_dst:0e:00:5e:0a:0a:0a}",
>>> "SET_FIELD: {eth_src:00:08:11:0a:0a:0a}", "SET_FIELD: {vlan_pcp:1}",
>>> "SET_FIELD: {vlan_vid:4198}", "SET_FIELD: {ipv4_src:100.0.0.1}",
>>> "SET_FIELD: {ipv4_dst:200.0.0.1}", "SET_FIELD: {tcp_src:3333}",
>>> "SET_FIELD: {tcp_dst:4444}", "OUTPUT:2", "OUTPUT:48"], "idle_timeout":
>>> 0, 
>>> "cookie": 1, "packet_count": 0, "hard_timeout": 0, "byte_count": 0,
>>> "length": 304, "duration_nsec": 906000000, "priority": 23999,
>>> "duration_sec": 0, "table_id": 0, "flags": 0, "match": {"dl_type": 2048,
>>> "nw_dst": "40.0.0.1", "vlan_pcp": 0, "dl_src": "00:90:22:22:22:22",
>>> "nw_proto": 6, "tp_dst": 22222, "tp_sr
>>>
>>> c": 11111, "dl_dst": "00:90:11:11:11:11", "dl_vlan": 4095, "nw_src":
>>> "30.0.0.1", "in_port": 46}}]}$
>>> $
>>> =========================================================================
>>> =
>>> ==================
>>>
>>> Please check ryu and switch version, and attached file.
>>>
>>>
>>>>
>>>> lab@lab-hackertools:~$
>>>>
>>>> lab@lab-hackertools:~$
>>>>
>>>> lab@lab-hackertools:~$ curl -X GET http://10.1.25.52:8080/stats/flow/9
>>>>
>>>> {"9": []}lab@lab-hackertools:~$
>>>>
>>>>
>>>>
>>>> ========================================================================
>>>> =
>>>> ===========
>>>> This message may contain information which is private, privileged or
>>>> confidential of INNO-Tech Network & Service Inc.
>>>> If you are not the intended recipient of this message, please notify
>>>> the sender and destroy/delete the message.
>>>> Any review, retransmission, dissemination or other use of, or taking
>>>> of 
>>>> any action in reliance upon this information,
>>>> by persons or entities other than the intended recipient is prohibited.
>>>>
>>>> ========================================================================
>>>> =
>>>> ===========
> 
> 
> 
> 
> ====================================================================================
> This message may contain information which is private, privileged or 
> confidential of INNO-Tech Network & Service Inc. 
> If you are not the intended recipient of this message, please notify the 
> sender and destroy/delete the message. 
> Any review, retransmission, dissemination or other use of, or taking of any 
> action in reliance upon this information, 
> by persons or entities other than the intended recipient is prohibited.
> ====================================================================================
>  
> 

Attachment: nw250.4-5_on_OVS.pcap
Description: application/vnd.tcpdump.pcap

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to