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

Greg Rose gvrose8192 at gmail.com
Tue Sep 19 16:55:18 UTC 2017


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>

Andy,

I am reviewing and testing your patches.  I have applied them to my private github repository
on a branch named test-813027-35.

https://github.com/gvrose8192/ovs-experimental/tree/test-813027-35

However, the Travis 'TESTSUITE=1 KERNEL=3.16.46 build fails:

https://travis-ci.org/gvrose8192/ovs-experimental/jobs/277364409

Have you noticed this as well?

The current master branch does not have the same error.

Thanks,

- Greg


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



More information about the dev mailing list