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 _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev_openvswitch.org
