[ovs-discuss] No packet-in with ofp_action_output + OFPP_CONTROLLER

kk yap yapkke at stanford.edu
Thu Feb 17 15:44:18 PST 2011


Perfect!.  That works.  Thanks for the patch.

Regards
KK

On 17 February 2011 15:06, Ben Pfaff <blp at nicira.com> wrote:
> I found the problem.
>
> Please try this patch:
>
> --8<--------------------------cut here-------------------------->8--
>
> From: Ben Pfaff <blp at nicira.com>
> 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 <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
>
>




More information about the discuss mailing list