Perfect!.  That works.  Thanks for the patch.

Regards
KK

On 17 February 2011 15:06, Ben Pfaff <[email protected]> wrote:
> I found the problem.
>
> Please try this patch:
>
> --8<--------------------------cut here-------------------------->8--
>
> From: Ben Pfaff <[email protected]>
> Date: Thu, 17 Feb 2011 15:04:44 -0800
> Subject: [PATCH] ofproto: Fix behavior when special_cb not present (as with 
> ovs-openflowd).
>
> The special_cb hook allows ofproto's client to intercept packets.  When
> it is not present (as in ovs-openflowd), no packets need to be intercepted,
> but ofproto implemented the opposite behavior.  This fixes the problem.
>
> Reported-by: kk yap <[email protected]>
> ---
>  ofproto/ofproto.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
> index 39d3457..e4c3528 100644
> --- a/ofproto/ofproto.c
> +++ b/ofproto/ofproto.c
> @@ -3134,9 +3134,9 @@ xlate_actions(struct action_xlate_ctx *ctx,
>     ctx->last_pop_priority = -1;
>
>     if (!ctx->check_special
> -        || (ctx->ofproto->ofhooks->special_cb
> -            && ctx->ofproto->ofhooks->special_cb(&ctx->flow, ctx->packet,
> -                                                 ctx->ofproto->aux))) {
> +        || !ctx->ofproto->ofhooks->special_cb
> +        || ctx->ofproto->ofhooks->special_cb(&ctx->flow, ctx->packet,
> +                                             ctx->ofproto->aux)) {
>         do_xlate_actions(in, n_in, ctx);
>     } else {
>         ctx->may_set_up_flow = false;
> --
> 1.7.1
>
>

_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org

Reply via email to