flow/worker: run housekeeping for bypassed packets

Run flow eviction and flow inject queues for bypassed packets as well,
to avoid a scenario where these won't get run at all if too much of the
traffic is bypassed.

Bug: #4779.
pull/6538/head
Victor Julien 3 years ago
parent 41fee41722
commit ab8f289bb6

@ -509,7 +509,7 @@ static TmEcode FlowWorker(ThreadVars *tv, Packet *p, void *data)
if (likely(p->flow != NULL)) {
DEBUG_ASSERT_FLOW_LOCKED(p->flow);
if (FlowUpdate(tv, fw, p) == TM_ECODE_DONE) {
return TM_ECODE_OK;
goto housekeeping;
}
}
/* Flow is now LOCKED */
@ -584,6 +584,8 @@ static TmEcode FlowWorker(ThreadVars *tv, Packet *p, void *data)
FLOWLOCK_UNLOCK(f);
}
housekeeping:
/* take injected flows and process them */
FlowWorkerProcessInjectedFlows(tv, fw, p, detect_thread);

Loading…
Cancel
Save