flowworker专题

suricata 3.1 源码分析35 (FlowWorker处理流程4 - 流重用函数)

static Flow *TcpReuseReplace(ThreadVars *tv, DecodeThreadVars *dtv,FlowBucket *fb, Flow *old_f,const uint32_t hash, const Packet *p){/* tag flow as reused so future lookups won't find it *//*将老流标识为已

suricata 3.1 源码分析34 (FlowWorker处理流程3 - 流重用)

上一章提到了一个流重用的概念,这里主要说一下。根据code,所谓流重用仅仅重用了流的thread_id。其他内容都是新建流得来的,具体threa_id有什么作用以后看到了再分析,今天就说一下什么样的流可以被重用。 //这就是判断包所属的流是否能重用的函数int TcpSessionPacketSsnReuse(const Packet *p, const Flow *f, const void

suricata 3.1 源码分析33 (FlowWorker处理流程2 - FlowHandlePacket)

void FlowHandlePacket(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p){/* Get this packet's flow from the hash. FlowHandlePacket() will setup* a new flow if nescesary. If we get NULL, we're out of f