Advertisement

Suricata6.0版本中关于流表管理的源码注释详细说明了流表的初始化过程

阅读量:

本文重点对流表初始化过程中涉及的关键函数进行注解说明。

首先对流管理线程的启动机制进行阐述:

流管理线程的创建过程,每个管理线程均可启动多个实例,默认情况下每个线程仅启动一个。

关于老化线程的调用路径:main函数→SuricataMain函数→RunModeDispatch函数→FlowManagerThreadSpawn函数

回收线程的调用路径:main函数→SuricataMain函数→RunModeDispatch函数→FlowRecyclerThreadSpawn函数

  1. FlowInitConfig函数,该函数的功能相对简单,所包含的注释内容较为有限。
复制代码
 /** \brief initialize the configuration

    
  *  \warning Not thread safe */
    
 void FlowInitConfig(char quiet)
    
 {
    
     SCLogDebug("initializing flow engine...");
    
  
    
     memset(&flow_config,  0, sizeof(flow_config));
    
     SC_ATOMIC_INIT(flow_flags);   //流的状态的一些标志,比如进入紧急模

全部评论 (0)

还没有任何评论哟~