[ovs-dev] [PATCH 2/9] ofproto-dpif-xlate: Fix revalidation in execute_controller_action().

Jarno Rajahalme jarno at ovn.org
Thu Dec 10 22:42:03 UTC 2015


> On Dec 9, 2015, at 6:27 PM, Daniele Di Proietto <diproiettod at vmware.com> wrote:
> 
> If there's no actual packet (e.g. during revalidation),
> execute_controller_action() exits right away, without calling
> xlate_commit_actions().
> 
> xlate_commit_actions() might have an influence on slow_path reason
> (which is included in the generated ODP actions), meaning that the
> revalidation will not generate the same actions than the original
> translation.
> 
> Fix the problem my making execute_controller_action() call

“my” -> “by”

Acked-by: Jarno Rajahalme <jarno at ovn.org>

> xlate_commit_actions() even without a packet.
> 
> Signed-off-by: Daniele Di Proietto <diproiettod at vmware.com>
> ---
> ofproto/ofproto-dpif-xlate.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index cf184e4..dab64b9 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -3572,14 +3572,13 @@ execute_controller_action(struct xlate_ctx *ctx, int len,
>     struct dp_packet *packet;
> 
>     ctx->xout->slow |= SLOW_CONTROLLER;
> +    xlate_commit_actions(ctx);
>     if (!ctx->xin->packet) {
>         return;
>     }
> 
>     packet = dp_packet_clone(ctx->xin->packet);
> 
> -    xlate_commit_actions(ctx);
> -
>     odp_execute_actions(NULL, &packet, 1, false,
>                         ctx->odp_actions->data, ctx->odp_actions->size, NULL);
> 
> -- 
> 2.1.4
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev




More information about the dev mailing list