[ovs-dev] [PATCH] ofproto: Fix behavior when special_cb not present (as with ovs-openflowd).

Justin Pettit jpettit at nicira.com
Thu Feb 17 23:34:44 UTC 2011


Looks good to me.  That's kind of subtle.  Nice catch!

--Justin


On Feb 17, 2011, at 3:05 PM, Ben Pfaff wrote:

> 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 <yapkke at stanford.edu>
> ---
> 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
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org





More information about the dev mailing list