Hi Yusuke,
Thanks your answer.
I know MPLS header total 4 byte, but MPLS label just use 20bit. Could you
tell me in the ver1.3.2 spec, which section have specify
OFPXMT_OFB_MPLS_LABEL must be 4 byte? The Wireshark can dissector my pcap
file.
I need strong reason tell my vender change them code.
If you have time, please help check.
Thank you very much.

Best Regards,

Jalee


於 11/19/14, 10:33,"Yusuke Iwase" <[email protected]> 寫道:

>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.
>> 
>>=========================================================================
>>=========== 
>> 




====================================================================================
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.
====================================================================================
 



------------------------------------------------------------------------------
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