suricata
flow-timeout.c File Reference
#include "suricata-common.h"
#include "suricata.h"
#include "decode.h"
#include "conf.h"
#include "threadvars.h"
#include "tm-threads.h"
#include "runmodes.h"
#include "util-random.h"
#include "util-time.h"
#include "flow.h"
#include "flow-queue.h"
#include "flow-hash.h"
#include "flow-util.h"
#include "flow-var.h"
#include "flow-private.h"
#include "flow-manager.h"
#include "flow-timeout.h"
#include "pkt-var.h"
#include "host.h"
#include "stream-tcp-private.h"
#include "stream-tcp-reassemble.h"
#include "stream-tcp.h"
#include "util-unittest.h"
#include "util-unittest-helper.h"
#include "util-byte.h"
#include "util-debug.h"
#include "util-privs.h"
#include "util-datalink.h"
#include "detect.h"
#include "detect-engine-state.h"
#include "stream.h"
#include "app-layer-parser.h"
#include "app-layer.h"
#include "util-profiling.h"
Include dependency graph for flow-timeout.c:

Go to the source code of this file.

Functions

PacketFlowPseudoPacketGet (int direction, Flow *f, const TcpSession *ssn)
 
bool FlowNeedsReassembly (Flow *f)
 Check if a flow needs forced reassembly, or any other processing. More...
 
void FlowSendToLocalThread (Flow *f)
 
void FlowWorkToDoCleanup (void)
 Clean up all the flows that have unprocessed segments and have some work to do in the detection engine. More...
 

Detailed Description

Function Documentation

◆ FlowNeedsReassembly()

bool FlowNeedsReassembly ( Flow f)

Check if a flow needs forced reassembly, or any other processing.

Parameters
fLOCKED flow
Return values
falseno
trueyes

Definition at line 288 of file flow-timeout.c.

References Flow_::alparser, Flow_::alproto, ALPROTO_UNKNOWN, Flow_::alstate, AppLayerParserGetTransactionActive(), AppLayerParserGetTxCnt(), Flow_::ffr_tc, Flow_::ffr_ts, Flow_::protoctx, TcpSession_::state, STREAM_HAS_UNPROCESSED_SEGMENTS_NEED_ONLY_DETECTION, STREAM_HAS_UNPROCESSED_SEGMENTS_NONE, StreamNeedsReassembly(), TCP_CLOSED, and TCP_ESTABLISHED.

Here is the call graph for this function:

◆ FlowPseudoPacketGet()

Packet* FlowPseudoPacketGet ( int  direction,
Flow f,
const TcpSession ssn 
)

Definition at line 267 of file flow-timeout.c.

References PACKET_PROFILING_START, PacketPoolGetPacket(), and PacketPoolWait().

Here is the call graph for this function:

◆ FlowSendToLocalThread()

void FlowSendToLocalThread ( Flow f)

Definition at line 344 of file flow-timeout.c.

References Flow_::flags, FLOW_DIR_REVERSED, Flow_::thread_id, and TmThreadsInjectFlowById().

Here is the call graph for this function:

◆ FlowWorkToDoCleanup()

void FlowWorkToDoCleanup ( void  )

Clean up all the flows that have unprocessed segments and have some work to do in the detection engine.

Definition at line 416 of file flow-timeout.c.

Referenced by PostRunDeinit().

Here is the caller graph for this function: