On Thu, Mar 19, 2015 at 06:03:25PM -0700, Jarno Rajahalme wrote: > Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
I think that most of this is code refactoring that should cause visible change in behavior, with the exception of this change: > @@ -2731,6 +2739,7 @@ compose_output_action__(struct xlate_ctx *ctx, > ofp_port_t ofp_port, > if (xport->peer) { > const struct xport *peer = xport->peer; > struct flow old_flow = ctx->xin->flow; > + bool old_was_mpls = ctx->was_mpls; > enum slow_path_reason special; > uint8_t table_id = > rule_dpif_lookup_get_init_table_id(&ctx->xin->flow); > struct ofpbuf old_stack = ctx->stack; > @@ -2781,6 +2790,10 @@ compose_output_action__(struct xlate_ctx *ctx, > ofp_port_t ofp_port, > ofpbuf_uninit(&ctx->stack); > ctx->stack = old_stack; > > + /* The peer bridge popping MPLS should have no effect on the original > + * bridge. */ > + ctx->was_mpls = old_was_mpls; > + > /* The fact that the peer bridge exits (for any reason) does not mean > * that the original bridge should exit. Specifically, if the peer > * bridge recirculates (which typically modifies the packet), the If I'm correct about that, I'd consider making that a change of its own to call out the difference. Either way, Acked-by: Ben Pfaff <b...@nicira.com> Thank you! _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev