flow/inject: Select thread_id by flow flag

Issue: 6957

Rather than selecting the thread_id index by packets traveling to the
server, use the flow flags. If the flow has been reversed, the second
slot is represents the thread id to be used.
pull/10852/head
Jeff Lucovsky 2 years ago committed by Victor Julien
parent 516441b600
commit c305ed149c

@ -335,9 +335,8 @@ int FlowForceReassemblyNeedReassembly(Flow *f)
* The function requires flow to be locked beforehand.
*
* Normally, the first thread_id value should be used. This is when the flow is
* created on seeing the first packet to the server; sometimes, if the first
* packet is determined to be to the client, the second thread_id value should
* be used.
* created on seeing the first packet to the server; when the flow's reversed
* flag is set, choose the second thread_id (to client/source).
*
* \param f Pointer to the flow.
*
@ -345,9 +344,9 @@ int FlowForceReassemblyNeedReassembly(Flow *f)
*/
void FlowForceReassemblyForFlow(Flow *f)
{
// Have packets traveled to the server? If not,
// use the reverse direction
int idx = f->todstpktcnt > 0 ? 0 : 1;
// Choose the thread_id based on whether the flow has been
// reversed.
int idx = f->flags & FLOW_DIR_REVERSED ? 1 : 0;
TmThreadsInjectFlowById(f, (const int)f->thread_id[idx]);
}

Loading…
Cancel
Save