X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto-dpif.c;h=47830c19e54b382f6926e92a3c415c0f1816eead;hb=62bd7349adaf5ee740cd9da58305f7523d7c9e6e;hp=32ed0919af52349cd14ba802388704ae2366ddf5;hpb=27a88d1373cbfcceac6d901bbf1c17051aa7845f;p=sliver-openvswitch.git diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 32ed0919a..47830c19e 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