[ovs-dev] [merge native tunneling and patch port 1/7] ofproto-dpif: Unfreeze within clone

Andy Zhou azhou at ovn.org
Wed Sep 27 17:10:04 UTC 2017


On Thu, Sep 21, 2017 at 9:44 AM, Greg Rose <gvrose8192 at gmail.com> wrote:
> On 09/12/2017 12:49 PM, Andy Zhou wrote:
>>
>> When translating actions within open flow clone, actions generated
>> by finish_freezeing() should also be enclosed within the datapath
>> clone netlink encoding.
>>
>> Signed-off-by: Andy Zhou <azhou at ovn.org>
>> ---
>>   ofproto/ofproto-dpif-xlate.c | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
>> index 9e1f837cb23e..e5ad832d7c47 100644
>> --- a/ofproto/ofproto-dpif-xlate.c
>> +++ b/ofproto/ofproto-dpif-xlate.c
>> @@ -5353,6 +5353,9 @@ compose_clone(struct xlate_ctx *ctx, const struct
>> ofpact_nest *oc)
>>       if (reversible_actions(oc->actions, oc_actions_len)) {
>>           old_flow = ctx->xin->flow;
>>           do_xlate_actions(oc->actions, oc_actions_len, ctx);
>> +        if (ctx->freezing) {
>> +            finish_freezing(ctx);
>> +        }
>>           goto xlate_done;
>>       }
>>   @@ -5372,6 +5375,9 @@ compose_clone(struct xlate_ctx *ctx, const struct
>> ofpact_nest *oc)
>>           offset = nl_msg_start_nested(ctx->odp_actions,
>> OVS_ACTION_ATTR_CLONE);
>>           ac_offset = ctx->odp_actions->size;
>>           do_xlate_actions(oc->actions, oc_actions_len, ctx);
>> +        if (ctx->freezing) {
>> +            finish_freezing(ctx);
>> +        }
>>           nl_msg_end_non_empty_nested(ctx->odp_actions, offset);
>>           goto dp_clone_done;
>>       }
>> @@ -5382,6 +5388,9 @@ compose_clone(struct xlate_ctx *ctx, const struct
>> ofpact_nest *oc)
>>           ac_offset = nl_msg_start_nested(ctx->odp_actions,
>>                                           OVS_SAMPLE_ATTR_ACTIONS);
>>           do_xlate_actions(oc->actions, oc_actions_len, ctx);
>> +        if (ctx->freezing) {
>> +            finish_freezing(ctx);
>> +        }
>>           if (nl_msg_end_non_empty_nested(ctx->odp_actions, ac_offset)) {
>>               nl_msg_cancel_nested(ctx->odp_actions, offset);
>>           } else {
>>
>
> Tested-by: Greg Rose <gvrose8192 at gmail.com>
> Reviewed-by: Greg Rose <gvrose8192 at gmail.com>

Thanks for the review Greg!  I applied your suggestion on patch 6 and pushed
the series to master.


More information about the dev mailing list