Hi, 

Thank you for your reply.
I will post this patch to Ryu later.

thanks,

On 2015年05月18日 11:12, Liu, Weijie wrote:
> Look good to me! Thanks a lot! 
> 
> 
> ________________________________________
> From: Minoru TAKAHASHI [[email protected]]
> Sent: Sunday, May 17, 2015 21:04
> To: Liu, Weijie
> Cc: [email protected]
> Subject: Re: [Ryu-devel] [Ryu] Output from ryu.app.ofctl_rest
> 
> Hi,
> 
> Thanks for the report.
> 
> On 2015年05月15日 05:57, Liu, Weijie wrote:
>> I suggest that we add the field "wildcards" in the function "match_to_str" 
>> of "ryu/ryu/lib/ofctl_v1_0.py". That is,
>>
>> -----
>> in ryu/ryu/lib/ofctl_v1_0.py:
>> def match_to_str(m):
>>     return {
>>             'wildcards': m.wildcards, # add it for showing wildcards
>>             'dl_dst': haddr_to_str(m.dl_dst),
>>             ...
>>             ...
>>             ...
>>             'tp_dst': m.tp_dst}
>>
>> Then we can use the binary form of 'wildcards' to decide which fields are 
>> wildcarded or exactly matched.
>>
> 
> I think good.
> 
> On the other hand, to make it easier to understand the results, I've created 
> a patch for omitting the wild card.
> What do you think of the follwoing?
> 
>  def match_to_str(m):
> -    return {'dl_dst': haddr_to_str(m.dl_dst),
> -            'dl_src': haddr_to_str(m.dl_src),
> -            'dl_type': m.dl_type,
> -            'dl_vlan': m.dl_vlan,
> -            'dl_vlan_pcp': m.dl_vlan_pcp,
> -            'in_port': m.in_port,
> -            'nw_dst': nw_dst_to_str(m.wildcards, m.nw_dst),
> -            'nw_proto': m.nw_proto,
> -            'nw_tos': m.nw_tos,
> -            'nw_src': nw_src_to_str(m.wildcards, m.nw_src),
> -            'tp_src': m.tp_src,
> -            'tp_dst': m.tp_dst}
> +
> +    match = {}
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_IN_PORT:
> +        match['in_port'] = m.in_port
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_DL_VLAN:
> +        match['dl_vlan'] = m.dl_vlan
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_DL_SRC:
> +        match['dl_src'] = haddr_to_str(m.dl_src)
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_DL_DST:
> +        match['dl_dst'] = haddr_to_str(m.dl_dst)
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_DL_TYPE:
> +        match['dl_type'] = m.dl_type
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_NW_PROTO:
> +        match['nw_proto'] = m.nw_proto
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_TP_SRC:
> +        match['tp_src'] = m.tp_src
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_TP_DST:
> +        match['tp_dst'] = m.tp_dst
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_NW_SRC_ALL:
> +        match['nw_src'] = m.nw_src_to_str(m.wildcards, m.nw_src)
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_NW_DST_ALL:
> +        match['nw_dst'] = nw_dst_to_str(m.wildcards, m.nw_dst)
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_DL_VLAN_PCP:
> +        match['dl_vlan_pcp'] = m.dl_vlan_pcp
> +
> +    if ~m.wildcards & ofproto_v1_0.OFPFW_NW_TOS:
> +        match['nw_tos'] = m.nw_tos
> +
> +    return match
> 
> before applying this patch:
> 
> $curl http://127.0.0.1:8080/stats/flow/1
> {
>     "1": [
>         {
>             "actions": [
>                 "OUTPUT:1"
>             ],
>             "byte_count": 238,
>             "cookie": 0,
>             "duration_nsec": 585000000,
>             "duration_sec": 154,
>             "hard_timeout": 0,
>             "idle_timeout": 0,
>             "match": {
>                 "dl_dst": "00:00:00:00:00:01",
>                 "dl_src": "00:00:00:00:00:00",
>                 "dl_type": 0,
>                 "dl_vlan": 0,
>                 "dl_vlan_pcp": 0,
>                 "in_port": 2,
>                 "nw_dst": "0.0.0.0",
>                 "nw_proto": 0,
>                 "nw_src": "0.0.0.0",
>                 "nw_tos": 0,
>                 "tp_dst": 0,
>                 "tp_src": 0
>             },
>             "packet_count": 3,
>             "priority": 32768,
>             "table_id": 0
>         },
>         {
>             "actions": [
>                 "OUTPUT:2"
>             ],
>             "byte_count": 140,
>             "cookie": 0,
>             "duration_nsec": 583000000,
>             "duration_sec": 154,
>             "hard_timeout": 0,
>             "idle_timeout": 0,
>             "match": {
>                 "dl_dst": "00:00:00:00:00:02",
>                 "dl_src": "00:00:00:00:00:00",
>                 "dl_type": 0,
>                 "dl_vlan": 0,
>                 "dl_vlan_pcp": 0,
>                 "in_port": 1,
>                 "nw_dst": "0.0.0.0",
>                 "nw_proto": 0,
>                 "nw_src": "0.0.0.0",
>                 "nw_tos": 0,
>                 "tp_dst": 0,
>                 "tp_src": 0
>             },
>             "packet_count": 2,
>             "priority": 32768,
>             "table_id": 0
>         }
>     ]
> }
> 
> after applying this patch:
> 
> $curl http://127.0.0.1:8080/stats/flow/1
> {
>     "1": [
>         {
>             "actions": [
>                 "OUTPUT:1"
>             ],
>             "byte_count": 238,
>             "cookie": 0,
>             "duration_nsec": 593000000,
>             "duration_sec": 12,
>             "hard_timeout": 0,
>             "idle_timeout": 0,
>             "match": {
>                 "dl_dst": "00:00:00:00:00:01",
>                 "in_port": 2
>             },
>             "packet_count": 3,
>             "priority": 32768,
>             "table_id": 0
>         },
>         {
>             "actions": [
>                 "OUTPUT:2"
>             ],
>             "byte_count": 140,
>             "cookie": 0,
>             "duration_nsec": 591000000,
>             "duration_sec": 12,
>             "hard_timeout": 0,
>             "idle_timeout": 0,
>             "match": {
>                 "dl_dst": "00:00:00:00:00:02",
>                 "in_port": 1
>             },
>             "packet_count": 2,
>             "priority": 32768,
>             "table_id": 0
>         }
>     ]
> }
> 
> thanks
> 
>>
>>
>> ________________________________________
>> From: Liu, Weijie
>> Sent: Wednesday, May 13, 2015 23:31
>> To: [email protected]
>> Subject: RE: [Ryu-devel] [Ryu] Output from ryu.app.ofctl_rest
>>
>> Because from what I saw, the outputs of "exactly matching dl_vlan as value 
>> zero" and "dl_vlan wildcard matching" are the same!  :(
>>
>> how can I tell the correct meaning from the output of ryu.app.ofctl_rest 
>> with OpenFlow 1.0?
>>
>> ________________________________________
>> From: Liu, Weijie
>> Sent: Wednesday, May 13, 2015 23:30
>> To: Minoru TAKAHASHI
>> Subject: RE: [Ryu-devel] [Ryu] Output from ryu.app.ofctl_rest
>>
>> Thanks.
>>
>> Now comes the question: how can I tell the correct meaning from the output 
>> of ryu.app.ofctl_rest with OpenFlow 1.0?
>>
>>
>>
>> ________________________________________
>> From: Minoru TAKAHASHI [[email protected]]
>> Sent: Wednesday, May 13, 2015 23:25
>> To: Liu, Weijie
>> Subject: Re: [Ryu-devel] [Ryu] Output from ryu.app.ofctl_rest
>>
>> Hi,
>>
>> On 2015年05月14日 12:54, Liu, Weijie wrote:
>>> Hi, Minoru,
>>>
>>> (1) Are you sure about that? I disagree with your answer of "exactly 
>>> matching dl_vlan as value zero is correct".
>>>
>>> Because this flow rule is from simple_switch.py; there is no dl_vlan 
>>> matching here. Therefore, I think "It should be considered as a wildcard 
>>> matching".
>>
>> Oh, Sorry!
>> I was talking about OpenFlow1.2 and later.
>> "It should be considered as a wildcard matching" is correct.
>>
>> thanks,
>>
>>>
>>> (2) Actually, I am using Openflow 1.0.  I am not sure whether you are 
>>> saying about other version of Openflow.
>>>
>>>
>>> Thanks a lot.
>>> Weijie
>>>
>>>
>>> ________________________________________
>>> From: Minoru TAKAHASHI [[email protected]]
>>> Sent: Wednesday, May 13, 2015 20:19
>>> To: Liu, Weijie; [email protected]
>>> Subject: Re: [Ryu-devel] [Ryu] Output from ryu.app.ofctl_rest
>>>
>>> Hi,
>>>
>>> On 2015年05月14日 01:44, Liu, Weijie wrote:
>>>> Hi,
>>>>
>>>> I have a question when I read the output of 'GET /stats/flow/1' of 
>>>> ryu.app.ofctl_rest. You know, I want to use this command to see the flow 
>>>> rules in a switch's flow table.
>>>>
>>>> My question: In "match", there is a field like "dl_vlan: 0". It can be 
>>>> considered as a wildcard matching; but it can also be considered as 
>>>> exactly matching dl_vlan as value zero.
>>>>
>>>> How can I tell which of the two is correct?
>>>
>>> "exactly matching dl_vlan as value zero" is correct.
>>>
>>> Just for your infomation, how to read of "dl_vlan" field is as follows.
>>>
>>> "match": {"dl_vlan": "0-4095"}
>>>  -> Only packets with VLAN tag and VID equal
>>>
>>> "match": {"dl_vlan": "0x0000"}
>>>  -> Only packets without a VLAN tag
>>>
>>> "match": {"dl_vlan": "0x1000/0x1000"}
>>>  -> Only packets with a VLAN tag regardless of its value
>>>
>>> thanks,
>>>
>>>>
>>>> Thanks.
>>>> --
>>>> Weijie Liu
>>>> Department of Computer Science
>>>> University of Illinois at Urbana-Champaign
>>>> (217)819-6113
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> One dashboard for servers and applications across Physical-Virtual-Cloud
>>>> Widest out-of-the-box monitoring support with 50+ applications
>>>> Performance metrics, stats and reports that give you Actionable Insights
>>>> Deep dive visibility with transaction tracing using APM Insight.
>>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Ryu-devel mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>>>

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to