Doh, please ignore this version of the patch. Doesn't pass the unit tests.
Ethan On Tue, Jul 30, 2013 at 3:31 PM, Ethan Jackson <[email protected]> wrote: > This optimization makes reference counting rules unnecessarily hard in > future patches. I doubt it makes much performance difference, so this > patch drops it for now. > > Signed-off-by: Ethan Jackson <[email protected]> > --- > ofproto/ofproto-dpif-xlate.c | 30 ++---------------------------- > 1 file changed, 2 insertions(+), 28 deletions(-) > > diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c > index e555603..53569e2 100644 > --- a/ofproto/ofproto-dpif-xlate.c > +++ b/ofproto/ofproto-dpif-xlate.c > @@ -1919,7 +1919,6 @@ do_xlate_actions(const struct ofpact *ofpacts, size_t > ofpacts_len, > ctx->rule->up.evictable = false; > } > > - do_xlate_actions_again: > OFPACT_FOR_EACH (a, ofpacts, ofpacts_len) { > struct ofpact_controller *controller; > const struct ofpact_metadata *metadata; > @@ -2120,35 +2119,10 @@ do_xlate_actions(const struct ofpact *ofpacts, size_t > ofpacts_len, > case OFPACT_GOTO_TABLE: { > /* It is assumed that goto-table is the last action. */ > struct ofpact_goto_table *ogt = ofpact_get_GOTO_TABLE(a); > - struct rule_dpif *rule; > > ovs_assert(ctx->table_id < ogt->table_id); > - > - ctx->table_id = ogt->table_id; > - > - /* Look up a flow from the new table. */ > - rule = rule_dpif_lookup_in_table(ctx->xbridge->ofproto, flow, wc, > - ctx->table_id); > - > - ctx->xout->tags |= calculate_flow_tag(ctx->xbridge->ofproto, > - &ctx->xin->flow, > - ctx->table_id, rule); > - > - rule = ctx_rule_hooks(ctx, rule, true); > - > - if (rule) { > - if (ctx->rule) { > - ctx->rule->up.evictable = was_evictable; > - } > - ctx->rule = rule; > - was_evictable = rule->up.evictable; > - rule->up.evictable = false; > - > - /* Tail recursion removal. */ > - ofpacts = rule->up.ofpacts; > - ofpacts_len = rule->up.ofpacts_len; > - goto do_xlate_actions_again; > - } > + xlate_table_action(ctx, ctx->xin->flow.in_port.ofp_port, > + ogt->table_id, true); > break; > } > > -- > 1.7.9.5 > X-CudaMail-Whitelist-To: [email protected] _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
