On Thu, 21 Jul 2016 15:56:07 +0900
Shinpei Muraoka <shinpei.mura...@gmail.com> wrote:

> Hi Fujita-San
> 
>> The patch can't be cleanly reverted. So let's forget this point.
> 
> I got it.
> I will include it in the patch.
> 
> 
>> Keeping the jsondict outputs is nice but it's optional for me.
> 
> I think the simple source is good.
> I modify the format to be set the zone_src a string.
> If you want to set the immediate value for zone,
> zone_src set the None or empty character string.
> 
> 
>> As Iwamoto-san pointed out, this patch doesn't recover the old API:
>>
>> https://github.com/osrg/ryu/blob/d090b291bee5a8e1883cb4a75b9045b2703cdba8/ryu/ofproto/nx_actions.py#L215
>>
>> Can you please fix that?
> 
> NXActionRegLoad was present in the nx_actions.py and
> ofproto_v1_0_parser.py originally.
> The nx_actions.py had ofs and nbits in the argument.
> The ofproto_v1_0_parser.py had ofs_nbits in the argument.
> It is common to set the values directly to ofs_nbits in nx_actions.py.
> Now it is in the form of ofproto_v1_0_parser.py.
> I think the current form is correct,
> what you do think?

I think that the point is we keep the exact same API. So strictly
speaking, we have to have ofs_nbits argument for RegLoad with OF1.0
and ofs and nbits with other OF versions. Right?

The safer option is adding a hack for accepting both ofs_nbits/ofs and
nbits.

But after checking the dragonflow code, RegLoad is not used. So we
might be able to have ofs_nbits argument for both if it's more
consistent with the rests.

Iwamoto-san, what's your opinion?


> 
> Thanks,
> 
> On 2016年07月21日 11:15, FUJITA Tomonori wrote:
>> On Thu, 21 Jul 2016 10:19:07 +0900
>> Shinpei Muraoka <shinpei.mura...@gmail.com> wrote:
>>
>>>  > I think it's better to separate this into the pure revert patch and
>>>  > the other changes in order to make git history more readable.
>>>
>>> Separate this into the revert patch and the other changes.
>>> However, revert patch has an impact on the document.
>>> Therefore, document fixes and method additions include in revert
>>> patch.
>>
>> The patch can't be cleanly reverted. So let's forget this point.
>>
>>
>>>  > Sorry for the crappy API, but I think we need a nice warning at least
>>>  > if we change jsondict outputs of NXActionCT.parser.
>>>
>>> Write the following as caution.
>>>    If the value of zone_src is other than zero,
>>>    there is case that value of the zone_src is set by the parser as a
>>> string.
>>
>> Keeping the jsondict outputs is nice but it's optional for me.
>>
>>
>>>>> diff --git a/ryu/ofproto/nx_actions.py b/ryu/ofproto/nx_actions.py
>>>>> index 94c2213..6bd9b55 100644
>>>>> --- a/ryu/ofproto/nx_actions.py
>>>>> +++ b/ryu/ofproto/nx_actions.py
>>>>> @@ -15,6 +15,7 @@
>>>>>  # limitations under the License.
>>>>>
>>>>>  import six
>>>>> +import base64
>>>>>
>>>>>  import struct
>>>>>
>>>>> @@ -356,18 +357,18 @@ def generate(ofp_name, ofpp_name):
>>>>>          ================
>>>>>          ======================================================
>>>>>          Attribute        Description
>>>>>          ================
>>>>>          ======================================================
>>>>> -        start            Start bit for destination field
>>>>> -        end              End bit for destination field
>>>>> +        ofs_nbits        Start and End for the OXM/NXM field.
>>>>> + Setting method refer to the ``nicira_ext.ofs_nbits``
>>>>>          dst              OXM/NXM header for destination field
>>>>>          value            OXM/NXM value to be loaded
>>>>>          ================
>>>>>          ======================================================
>>>>>
>>>>>          Example::
>>>>>
>>>>> -            actions += [parser.NXActionRegLoad(start=4,
>>>>> -                                               end=31,
>>>>> -                                               dst="eth_dst",
>>>>> -                                               value=0x112233)]
>>>>> +            actions += [parser.NXActionRegLoad(
>>>>> +                            ofs_nbits=nicira_ext.ofs_nbits(4, 31),
>>>>> +                            dst="eth_dst",
>>>>> +                            value=0x112233)]
>>>>>          """
>>>>>          _subtype = nicira_ext.NXAST_REG_LOAD
>>>>>          _fmt_str = '!HIQ'  # ofs_nbits, dst, value
>>>>> @@ -377,11 +378,10 @@ def generate(ofp_name, ofpp_name):
>>>>>              ]
>>>>>          }
>>>>>
>>>>> -        def __init__(self, start, end, dst, value,
>>>>> +        def __init__(self, ofs_nbits, dst, value,
>>>>
>>>> For some reason, it was ofs and nbits for NXActionRegLoad.
>>>> Please retain the old API.
>>
>> As Iwamoto-san pointed out, this patch doesn't recover the old API:
>>
>> https://github.com/osrg/ryu/blob/d090b291bee5a8e1883cb4a75b9045b2703cdba8/ryu/ofproto/nx_actions.py#L215
>>
>> Can you please fix that?
>>
>> Thanks!
>>

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to