[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