(Suricata 6.0) 流表管理源码注释五:(流的建立) 03:(全局flow内存池与线程自己的flow队列)(Python版本)
发布时间
阅读量:
阅读量
当尝试获取某条flow时,在发现当前线程所在的fls队列无法提供对应的spare_queue后,则会从全局流内存池中寻找备用的队列资源。该功能模块负责完成这一流程操作。
1. FlowSpareSync 函数
FlowHandlePacket-》FlowGetFlowFromHash-》FlowGetNew-》FlowSpareSync
从全局flow内存池FlowSparePool *flow_spare_pool获取一个flow队列。
/** \internal
* \brief try to fetch a new set of flows from the master flow pool.
* * If in emergency mode, do this only once a second at max to avoid trying
* to synchronise per packet in the worse case. */
static inline Flow *FlowSpareSync(ThreadVars *tv, FlowLookupStruct *fls,
const Packet *p, const bool emerg)
{
全部评论 (0)
还没有任何评论哟~
