From: Ethan Jackson Date: Sun, 7 Jul 2013 10:52:16 +0000 (-0700) Subject: ofproto-dpif-xlate: Actually drop packets on mirror ports. X-Git-Tag: sliver-openvswitch-2.0.90-1~36^2~70 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=aaa0fbaefadb7fdc2ff07dba1e16b3d6f20467d5;p=sliver-openvswitch.git ofproto-dpif-xlate: Actually drop packets on mirror ports. Reported-by: Ben Pfaff Signed-off-by: Ethan Jackson Acked-by: Ben Pfaff --- diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index 2ba956015..3a23c1f42 100644 --- a/ofproto/ofproto-dpif-xlate.c +++ b/ofproto/ofproto-dpif-xlate.c @@ -195,6 +195,7 @@ add_mirror_actions(struct xlate_ctx *ctx, const struct flow *orig_flow) "%s, which is reserved exclusively for mirroring", ctx->ofproto->up.name, in_bundle->name); } + ofpbuf_clear(&ctx->xout->odp_actions); return; } @@ -2008,10 +2009,12 @@ xlate_actions(struct xlate_in *xin, struct xlate_out *xout) && !actions_output_to_local_port(&ctx)) { compose_output_action(&ctx, OFPP_LOCAL); } + + fix_sflow_action(&ctx); + if (mbridge_has_mirrors(ctx.ofproto->mbridge)) { add_mirror_actions(&ctx, &orig_flow); } - fix_sflow_action(&ctx); } ofpbuf_uninit(&ctx.stack);