suricata
|
#include "suricata-common.h"
#include "suricata.h"
#include "packet.h"
#include "decode.h"
#include "detect.h"
#include "flow.h"
#include "flow-util.h"
#include "conf.h"
#include "conf-yaml-loader.h"
#include "threads.h"
#include "threadvars.h"
#include "tm-threads.h"
#include "util-pool.h"
#include "util-pool-thread.h"
#include "util-checksum.h"
#include "util-unittest.h"
#include "util-print.h"
#include "util-debug.h"
#include "util-device.h"
#include "stream-tcp-private.h"
#include "stream-tcp.h"
#include "stream-tcp-cache.h"
#include "stream-tcp-inline.h"
#include "stream-tcp-reassemble.h"
#include "stream-tcp-sack.h"
#include "stream-tcp-util.h"
#include "stream.h"
#include "pkt-var.h"
#include "host.h"
#include "app-layer.h"
#include "app-layer-parser.h"
#include "app-layer-protos.h"
#include "app-layer-htp-mem.h"
#include "util-host-os-info.h"
#include "util-privs.h"
#include "util-profiling.h"
#include "util-misc.h"
#include "util-validate.h"
#include "util-runmodes.h"
#include "util-random.h"
#include "util-exception-policy.h"
#include "util-time.h"
#include "source-pcap-file.h"
#include "action-globals.h"
#include "tests/stream-tcp.c"
Go to the source code of this file.
Macros | |
#define | STREAMTCP_DEFAULT_PREALLOC 2048 |
#define | STREAMTCP_DEFAULT_MEMCAP (64 * 1024 * 1024) /* 64mb */ |
#define | STREAMTCP_DEFAULT_REASSEMBLY_MEMCAP (256 * 1024 * 1024) /* 256mb */ |
#define | STREAMTCP_DEFAULT_TOSERVER_CHUNK_SIZE 2560 |
#define | STREAMTCP_DEFAULT_TOCLIENT_CHUNK_SIZE 2560 |
#define | STREAMTCP_DEFAULT_MAX_SYN_QUEUED 10 |
#define | STREAMTCP_DEFAULT_MAX_SYNACK_QUEUED 5 |
#define | StreamTcpUpdateLastAck(ssn, stream, ack) |
macro to update last_ack only if the new value is higher More... | |
#define | StreamTcpAsyncLastAckUpdate(ssn, stream) |
#define | StreamTcpUpdateNextSeq(ssn, stream, seq) |
#define | StreamTcpUpdateNextWin(ssn, stream, win) |
macro to update next_win only if the new value is higher More... | |
Functions | |
void | StreamTcpReturnStreamSegments (TcpStream *) |
return all segments in this stream into the pool(s) More... | |
void | StreamTcpInitConfig (bool quiet) |
To initialize the stream global configuration data. More... | |
int | StreamTcpGetFlowState (void *) |
void | StreamTcpSetOSPolicy (TcpStream *stream, Packet *p) |
Function to set the OS policy for the given stream based on the destination of the received packet. More... | |
uint64_t | StreamTcpReassembleMemuseGlobalCounter (void) |
SC_ATOMIC_DECLARE (uint64_t, st_memuse) | |
void | StreamTcpInitMemuse (void) |
void | StreamTcpIncrMemuse (uint64_t size) |
void | StreamTcpDecrMemuse (uint64_t size) |
uint64_t | StreamTcpMemuseCounter (void) |
int | StreamTcpCheckMemcap (uint64_t size) |
Check if alloc'ing "size" would mean we're over memcap. More... | |
int | StreamTcpSetMemcap (uint64_t size) |
Update memcap value. More... | |
uint64_t | StreamTcpGetMemcap (void) |
Return memcap value. More... | |
void | StreamTcpStreamCleanup (TcpStream *stream) |
void | StreamTcpSessionCleanup (TcpSession *ssn) |
Session cleanup function. Does not free the ssn. More... | |
void | StreamTcpSessionClear (void *ssnptr) |
Function to return the stream back to the pool. It returns the segments in the stream to the segment pool. More... | |
void | StreamTcpSessionPktFree (Packet *p) |
Function to return the stream segments back to the pool. More... | |
void | StreamTcpFreeConfig (bool quiet) |
int | StreamTcpPacket (ThreadVars *tv, Packet *p, StreamTcpThread *stt, PacketQueueNoLock *pq) |
int | TcpSessionPacketSsnReuse (const Packet *p, const Flow *f, const void *tcp_ssn) |
TmEcode | StreamTcp (ThreadVars *tv, Packet *p, void *data, PacketQueueNoLock *pq) |
TmEcode | StreamTcpThreadInit (ThreadVars *tv, void *initdata, void **data) |
TmEcode | StreamTcpThreadDeinit (ThreadVars *tv, void *data) |
void | StreamTcpUpdateAppLayerProgress (TcpSession *ssn, char direction, const uint32_t progress) |
update reassembly progress More... | |
void | StreamTcpSetSessionNoReassemblyFlag (TcpSession *ssn, char direction) |
disable reassembly More... | |
void | StreamTcpSetDisableRawReassemblyFlag (TcpSession *ssn, char direction) |
Set the No reassembly flag for the given direction in given TCP session. More... | |
void | StreamTcpSetSessionBypassFlag (TcpSession *ssn) |
enable bypass More... | |
void | StreamTcpDetectLogFlush (ThreadVars *tv, StreamTcpThread *stt, Flow *f, Packet *p, PacketQueueNoLock *pq) |
create packets in both directions to flush out logging and detection before switching protocols. In IDS mode, create first in packet dir, 2nd in opposing In IPS mode, do the reverse. Flag TCP engine that data needs to be inspected regardless of how far we are wrt inspect limits. More... | |
int | StreamTcpSegmentForEach (const Packet *p, uint8_t flag, StreamSegmentCallback CallbackFunc, void *data) |
int | StreamTcpSegmentForSession (const Packet *p, uint8_t flag, StreamSegmentCallback CallbackFunc, void *data) |
Run callback function on each TCP segment in both directions of a session. More... | |
int | StreamTcpBypassEnabled (void) |
int | StreamTcpInlineMode (void) |
See if stream engine is operating in inline mode. More... | |
void | TcpSessionSetReassemblyDepth (TcpSession *ssn, uint32_t size) |
const char * | StreamTcpStateAsString (const enum TcpState state) |
const char * | StreamTcpSsnStateAsString (const TcpSession *ssn) |
Variables | |
thread_local uint64_t | t_pcapcnt |
int | g_detect_disabled |
PoolThread * | ssn_pool = NULL |
TcpStreamCnf | stream_config |
TCP stream tracking and reassembly engine.
Definition in file stream-tcp.c.
#define STREAMTCP_DEFAULT_MAX_SYN_QUEUED 10 |
Definition at line 91 of file stream-tcp.c.
#define STREAMTCP_DEFAULT_MAX_SYNACK_QUEUED 5 |
Definition at line 92 of file stream-tcp.c.
#define STREAMTCP_DEFAULT_MEMCAP (64 * 1024 * 1024) /* 64mb */ |
Definition at line 87 of file stream-tcp.c.
#define STREAMTCP_DEFAULT_PREALLOC 2048 |
Definition at line 86 of file stream-tcp.c.
#define STREAMTCP_DEFAULT_REASSEMBLY_MEMCAP (256 * 1024 * 1024) /* 256mb */ |
Definition at line 88 of file stream-tcp.c.
#define STREAMTCP_DEFAULT_TOCLIENT_CHUNK_SIZE 2560 |
Definition at line 90 of file stream-tcp.c.
#define STREAMTCP_DEFAULT_TOSERVER_CHUNK_SIZE 2560 |
Definition at line 89 of file stream-tcp.c.
#define StreamTcpAsyncLastAckUpdate | ( | ssn, | |
stream | |||
) |
Definition at line 867 of file stream-tcp.c.
#define StreamTcpUpdateLastAck | ( | ssn, | |
stream, | |||
ack | |||
) |
macro to update last_ack only if the new value is higher
ssn | session |
stream | stream to update |
ack | ACK value to test and set |
Definition at line 850 of file stream-tcp.c.
#define StreamTcpUpdateNextSeq | ( | ssn, | |
stream, | |||
seq | |||
) |
Definition at line 878 of file stream-tcp.c.
#define StreamTcpUpdateNextWin | ( | ssn, | |
stream, | |||
win | |||
) |
macro to update next_win only if the new value is higher
ssn | session |
stream | stream to update |
win | window value to test and set |
Definition at line 891 of file stream-tcp.c.
SC_ATOMIC_DECLARE | ( | uint64_t | , |
st_memuse | |||
) |
TmEcode StreamTcp | ( | ThreadVars * | tv, |
Packet * | p, | ||
void * | data, | ||
PacketQueueNoLock * | pq | ||
) |
Definition at line 5708 of file stream-tcp.c.
References DEBUG_VALIDATE_BUG_ON, Packet_::flow, FlowGetPacketDirection(), Packet_::pcap_cnt, PKT_IS_TCP, Packet_::pkt_src, PktSrcToString(), SCLogDebug, t_pcapcnt, TM_ECODE_OK, TOSERVER, and unlikely.
int StreamTcpBypassEnabled | ( | void | ) |
Definition at line 6843 of file stream-tcp.c.
References TcpStreamCnf_::flags, stream_config, and STREAMTCP_INIT_FLAG_BYPASS.
int StreamTcpCheckMemcap | ( | uint64_t | size | ) |
Check if alloc'ing "size" would mean we're over memcap.
1 | if in bounds |
0 | if not in bounds |
Definition at line 164 of file stream-tcp.c.
References SC_ATOMIC_GET, and stream_config.
void StreamTcpDecrMemuse | ( | uint64_t | size | ) |
Definition at line 131 of file stream-tcp.c.
References BUG_ON, RunmodeIsUnittests(), SC_ATOMIC_GET, SC_ATOMIC_SUB, SCLogDebug, and StreamTcpMemuseCounter().
void StreamTcpDetectLogFlush | ( | ThreadVars * | tv, |
StreamTcpThread * | stt, | ||
Flow * | f, | ||
Packet * | p, | ||
PacketQueueNoLock * | pq | ||
) |
create packets in both directions to flush out logging and detection before switching protocols. In IDS mode, create first in packet dir, 2nd in opposing In IPS mode, do the reverse. Flag TCP engine that data needs to be inspected regardless of how far we are wrt inspect limits.
Definition at line 6677 of file stream-tcp.c.
References TcpSession_::client, TcpStream_::flags, PKT_IS_TOSERVER, Flow_::protoctx, TcpSession_::server, STREAMTCP_STREAM_FLAG_TRIGGER_RAW, StreamTcpInlineMode(), and ts.
void StreamTcpFreeConfig | ( | bool | quiet | ) |
Definition at line 690 of file stream-tcp.c.
References SCMutexLock, and StreamTcpReassembleFree().
Referenced by StreamTcpUTDeinit().
int StreamTcpGetFlowState | ( | void * | ) |
uint64_t StreamTcpGetMemcap | ( | void | ) |
Return memcap value.
memcap | memcap value |
Definition at line 192 of file stream-tcp.c.
References SC_ATOMIC_GET, and stream_config.
void StreamTcpIncrMemuse | ( | uint64_t | size | ) |
Definition at line 124 of file stream-tcp.c.
References SC_ATOMIC_ADD, SCLogDebug, and StreamTcpMemuseCounter().
void StreamTcpInitConfig | ( | bool | quiet | ) |
To initialize the stream global configuration data.
quiet | It tells the mode of operation, if it is true nothing will be get printed. |
Definition at line 359 of file stream-tcp.c.
References TcpStreamCnf_::async_oneside, ConfGet(), ConfGetBool(), ConfGetInt(), ConfGetNode(), EngineModeIsIPS(), ExceptionPolicyMidstreamParse(), ExceptionPolicyParse(), FatalError, TcpStreamCnf_::flags, TcpStreamCnf_::max_syn_queued, TcpStreamCnf_::max_synack_queued, TcpStreamCnf_::midstream, TcpStreamCnf_::midstream_policy, ParseSizeStringU16(), ParseSizeStringU32(), ParseSizeStringU64(), TcpStreamCnf_::prealloc_sessions, TcpStreamCnf_::reassembly_depth, TcpStreamCnf_::reassembly_memcap_policy, TcpStreamCnf_::reassembly_toserver_chunk_size, RunmodeIsUnittests(), SC_ATOMIC_GET, SC_ATOMIC_INIT, SC_ATOMIC_SET, SCLogDebug, SCLogError, SCLogWarning, TcpStreamCnf_::ssn_memcap_policy, stream_config, STREAMTCP_DEFAULT_MAX_SYN_QUEUED, STREAMTCP_DEFAULT_MAX_SYNACK_QUEUED, STREAMTCP_DEFAULT_MEMCAP, STREAMTCP_DEFAULT_PREALLOC, STREAMTCP_DEFAULT_REASSEMBLY_MEMCAP, STREAMTCP_DEFAULT_TOSERVER_CHUNK_SIZE, STREAMTCP_INIT_FLAG_BYPASS, STREAMTCP_INIT_FLAG_CHECKSUM_VALIDATION, STREAMTCP_INIT_FLAG_DROP_INVALID, STREAMTCP_INIT_FLAG_INLINE, and WarnInvalidConfEntry.
Referenced by PreRunInit(), and StreamTcpUTInit().
void StreamTcpInitMemuse | ( | void | ) |
Definition at line 119 of file stream-tcp.c.
References SC_ATOMIC_INIT.
Referenced by UtRunTests().
int StreamTcpInlineMode | ( | void | ) |
See if stream engine is operating in inline mode.
0 | no |
1 | yes |
Definition at line 6854 of file stream-tcp.c.
References TcpStreamCnf_::flags, stream_config, and STREAMTCP_INIT_FLAG_INLINE.
Referenced by StreamDataRightEdge(), StreamReassembleRaw(), StreamReassembleRawHasDataReady(), StreamTcpDetectLogFlush(), and StreamTcpReassembleHandleSegment().
uint64_t StreamTcpMemuseCounter | ( | void | ) |
Definition at line 152 of file stream-tcp.c.
References SC_ATOMIC_GET.
Referenced by StreamTcpDecrMemuse(), and StreamTcpIncrMemuse().
int StreamTcpPacket | ( | ThreadVars * | tv, |
Packet * | p, | ||
StreamTcpThread * | stt, | ||
PacketQueueNoLock * | pq | ||
) |
Definition at line 5312 of file stream-tcp.c.
References TcpSession_::client, DEBUG_ASSERT_FLOW_LOCKED, TcpSession_::flags, Packet_::flow, Packet_::pcap_cnt, PKT_IS_TOCLIENT, PKT_IS_TOSERVER, Flow_::protoctx, SCEnter, SCLogDebug, TcpSession_::server, STREAM_PKT_BROKEN_ACK, STREAMTCP_FLAG_ASYNC, StreamTcpSetEvent, TcpStream_::tcp_flags, TCP_GET_ACK, TcpSession_::tcp_packet_flags, Packet_::tcph, and TH_ACK.
uint64_t StreamTcpReassembleMemuseGlobalCounter | ( | void | ) |
Definition at line 148 of file stream-tcp-reassemble.c.
void StreamTcpReturnStreamSegments | ( | TcpStream * | stream | ) |
return all segments in this stream into the pool(s)
stream | the stream to cleanup |
Definition at line 396 of file stream-tcp-reassemble.c.
References RB_FOREACH_SAFE, RB_REMOVE, TcpStream_::seg_tree, and StreamTcpSegmentReturntoPool().
Referenced by StreamTcpPruneSession(), StreamTcpSessionPktFree(), and StreamTcpStreamCleanup().
int StreamTcpSegmentForEach | ( | const Packet * | p, |
uint8_t | flag, | ||
StreamSegmentCallback | CallbackFunc, | ||
void * | data | ||
) |
Definition at line 6701 of file stream-tcp.c.
Referenced by StreamSegmentForEach().
int StreamTcpSegmentForSession | ( | const Packet * | p, |
uint8_t | flag, | ||
StreamSegmentCallback | CallbackFunc, | ||
void * | data | ||
) |
Run callback function on each TCP segment in both directions of a session.
Definition at line 6760 of file stream-tcp.c.
Referenced by StreamSegmentForSession().
void StreamTcpSessionCleanup | ( | TcpSession * | ssn | ) |
Session cleanup function. Does not free the ssn.
ssn | tcp session |
Definition at line 225 of file stream-tcp.c.
References TcpSession_::client, SCEnter, TcpSession_::server, and StreamTcpStreamCleanup().
Referenced by StreamTcpSessionClear(), StreamTcpUTClearSession(), and UTHRemoveSessionFromFlow().
void StreamTcpSessionClear | ( | void * | ssnptr | ) |
Function to return the stream back to the pool. It returns the segments in the stream to the segment pool.
This function is called when the flow is destroyed, so it should free everything related to the tcp session. So including the app layer data.
ssn | Void ptr to the ssn. |
Definition at line 249 of file stream-tcp.c.
References pool_id, TcpSession_::pool_id, SCEnter, SCMutexLock, StreamTcpSessionCleanup(), and StreamTcpThreadCacheReturnSession().
void StreamTcpSessionPktFree | ( | Packet * | p | ) |
Function to return the stream segments back to the pool.
p | Packet used to identify the stream. |
Definition at line 278 of file stream-tcp.c.
References TcpSession_::client, Packet_::flow, Flow_::protoctx, SCEnter, SCReturn, TcpSession_::server, and StreamTcpReturnStreamSegments().
void StreamTcpSetDisableRawReassemblyFlag | ( | TcpSession * | ssn, |
char | direction | ||
) |
Set the No reassembly flag for the given direction in given TCP session.
ssn | TCP Session to set the flag in |
direction | direction to set the flag in: 0 toserver, 1 toclient |
Definition at line 6466 of file stream-tcp.c.
References TcpSession_::client, TcpStream_::flags, TcpSession_::server, and STREAMTCP_STREAM_FLAG_NEW_RAW_DISABLED.
int StreamTcpSetMemcap | ( | uint64_t | size | ) |
Update memcap value.
size | new memcap value |
Definition at line 177 of file stream-tcp.c.
References SC_ATOMIC_GET, SC_ATOMIC_SET, and stream_config.
Function to set the OS policy for the given stream based on the destination of the received packet.
stream | TcpStream of which os_policy needs to set |
p | Packet which is used to set the os policy |
Definition at line 810 of file stream-tcp.c.
References GET_IPV4_DST_ADDR_PTR, GET_IPV6_DST_ADDR, TcpStream_::os_policy, OS_POLICY_BSD, OS_POLICY_BSD_RIGHT, OS_POLICY_DEFAULT, OS_POLICY_OLD_SOLARIS, OS_POLICY_SOLARIS, PKT_IS_IPV4, PKT_IS_IPV6, SCHInfoGetIPv4HostOSFlavour(), SCHInfoGetIPv6HostOSFlavour(), and SCLogDebug.
Referenced by StreamTcpReassembleHandleSegmentHandleData().
void StreamTcpSetSessionBypassFlag | ( | TcpSession * | ssn | ) |
enable bypass
ssn | TCP Session to set the flag in |
direction | direction to set the flag in: 0 toserver, 1 toclient |
Definition at line 6477 of file stream-tcp.c.
References TcpSession_::flags, and STREAMTCP_FLAG_BYPASS.
void StreamTcpSetSessionNoReassemblyFlag | ( | TcpSession * | ssn, |
char | direction | ||
) |
disable reassembly
Disable app layer and set raw inspect to no longer accept new data. Stream engine will then fully disable raw after last inspection.
ssn | TCP Session to set the flag in |
direction | direction to set the flag in: 0 toserver, 1 toclient |
Definition at line 6450 of file stream-tcp.c.
References TcpSession_::client, TcpStream_::flags, TcpSession_::flags, TcpSession_::server, STREAMTCP_FLAG_APP_LAYER_DISABLED, and STREAMTCP_STREAM_FLAG_NEW_RAW_DISABLED.
const char* StreamTcpSsnStateAsString | ( | const TcpSession * | ssn | ) |
Definition at line 6910 of file stream-tcp.c.
References TcpSession_::state, and StreamTcpStateAsString().
const char* StreamTcpStateAsString | ( | const enum TcpState | state | ) |
Definition at line 6869 of file stream-tcp.c.
References TCP_CLOSE_WAIT, TCP_CLOSED, TCP_CLOSING, TCP_ESTABLISHED, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_LAST_ACK, TCP_NONE, TCP_SYN_RECV, TCP_SYN_SENT, and TCP_TIME_WAIT.
Referenced by StreamTcpSsnStateAsString().
void StreamTcpStreamCleanup | ( | TcpStream * | stream | ) |
Definition at line 198 of file stream-tcp.c.
References TcpStream_::sb, TcpStreamCnf_::sbcnf, stream_config, StreamingBufferClear(), StreamTcpReturnStreamSegments(), and StreamTcpSackFreeList().
Referenced by StreamTcpSessionCleanup(), and StreamTcpUTClearStream().
TmEcode StreamTcpThreadDeinit | ( | ThreadVars * | tv, |
void * | data | ||
) |
Definition at line 5819 of file stream-tcp.c.
References StreamTcpThread_::ra_ctx, SCEnter, SCFree, SCReturnInt, StreamTcpReassembleFreeThreadCtx(), and TM_ECODE_OK.
TmEcode StreamTcpThreadInit | ( | ThreadVars * | tv, |
void * | initdata, | ||
void ** | data | ||
) |
Definition at line 5750 of file stream-tcp.c.
References StreamTcpThread_::counter_tcp_ack_unseen_data, StreamTcpThread_::counter_tcp_active_sessions, StreamTcpThread_::counter_tcp_invalid_checksum, StreamTcpThread_::counter_tcp_midstream_pickups, StreamTcpThread_::counter_tcp_pseudo, StreamTcpThread_::counter_tcp_pseudo_failed, TcpReassemblyThreadCtx_::counter_tcp_reass_data_normal_fail, TcpReassemblyThreadCtx_::counter_tcp_reass_data_overlap_fail, TcpReassemblyThreadCtx_::counter_tcp_reass_gap, TcpReassemblyThreadCtx_::counter_tcp_reass_overlap, TcpReassemblyThreadCtx_::counter_tcp_reass_overlap_diff_data, TcpReassemblyThreadCtx_::counter_tcp_segment_from_cache, TcpReassemblyThreadCtx_::counter_tcp_segment_from_pool, TcpReassemblyThreadCtx_::counter_tcp_segment_memcap, StreamTcpThread_::counter_tcp_sessions, StreamTcpThread_::counter_tcp_ssn_from_cache, StreamTcpThread_::counter_tcp_ssn_from_pool, StreamTcpThread_::counter_tcp_ssn_memcap, TcpReassemblyThreadCtx_::counter_tcp_stream_depth, StreamTcpThread_::counter_tcp_wrong_thread, StreamTcpThread_::ra_ctx, SCEnter, SCLogDebug, SCMalloc, SCMutexLock, SCReturnInt, StreamTcpThread_::ssn_pool_id, StatsRegisterCounter(), StreamTcpReassembleInitThreadCtx(), StreamTcpThreadCacheEnable(), TM_ECODE_FAILED, tv, and unlikely.
void StreamTcpUpdateAppLayerProgress | ( | TcpSession * | ssn, |
char | direction, | ||
const uint32_t | progress | ||
) |
update reassembly progress
ssn | TCP Session |
direction | direction to set the flag in: 0 toserver, 1 toclient |
Definition at line 6430 of file stream-tcp.c.
References TcpStream_::app_progress_rel, TcpSession_::client, SCLogDebug, TcpSession_::server, and STREAM_APP_PROGRESS.
Definition at line 5696 of file stream-tcp.c.
References Packet_::proto, and Packet_::tcph.
void TcpSessionSetReassemblyDepth | ( | TcpSession * | ssn, |
uint32_t | size | ||
) |
Definition at line 6860 of file stream-tcp.c.
References TcpSession_::reassembly_depth.
int g_detect_disabled |
global indicating if detection is enabled
Definition at line 189 of file suricata.c.
PoolThread* ssn_pool = NULL |
Definition at line 109 of file stream-tcp.c.
Referenced by StreamTcpThreadCacheReturnSession().
TcpStreamCnf stream_config |
Definition at line 115 of file stream-tcp.c.
Referenced by NapatechGetStreamConfig(), StreamTcpBypassEnabled(), StreamTcpCheckMemcap(), StreamTcpGetMemcap(), StreamTcpInitConfig(), StreamTcpInlineMode(), StreamTcpPruneSession(), StreamTcpReassembleCheckMemcap(), StreamTcpReassembleGetMemcap(), StreamTcpReassembleRealloc(), StreamTcpReassembleSetMemcap(), StreamTcpSetMemcap(), StreamTcpStreamCleanup(), StreamTcpUTDeinit(), StreamTcpUTInitInline(), and UTHAddStreamToFlow().
thread_local uint64_t t_pcapcnt |
Definition at line 78 of file stream-tcp-reassemble.c.
Referenced by StreamTcp(), and StreamTcpReassembleCheckMemcap().