FYI, I accidentally merged this without review. Justin's looking at it now. If it gets anything other than a "looks good", I'll revert it. My bad, sorry.
Ethan On Tue, Apr 2, 2013 at 12:36 PM, Ethan Jackson <et...@nicira.com> wrote: > In the standard case, rate limiting facet_learn() to once ever > 500ms, makes sense. The worst that can happen is a learning entry > is expired half a second to early. However, when using > fin_timeouts, we really need react quickly to delete the newly > stale flow. > > Bug #15915. > Signed-off-by: Ethan Jackson <et...@nicira.com> > --- > ofproto/ofproto-dpif.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index 32ed091..47830c1 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -4585,13 +4585,14 @@ facet_learn(struct facet *facet) > struct ofproto_dpif *ofproto = > ofproto_dpif_cast(facet->rule->up.ofproto); > struct subfacet *subfacet= CONTAINER_OF(list_front(&facet->subfacets), > struct subfacet, list_node); > + long long int now = time_msec(); > struct action_xlate_ctx ctx; > > - if (time_msec() < facet->learn_rl) { > + if (!facet->has_fin_timeout && now < facet->learn_rl) { > return; > } > > - facet->learn_rl = time_msec() + 500; > + facet->learn_rl = now + 500; > > if (!facet->has_learn > && !facet->has_normal > -- > 1.7.9.5 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev