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

Ben Pfaff blp at nicira.com
Fri Feb 18 00:05:03 UTC 2011


Thank you for the review.   I pushed this to master.

On Thu, Feb 17, 2011 at 03:34:44PM -0800, Justin Pettit wrote:
> 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