suricata
runmodes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  RunModes {
  RUNMODE_UNKNOWN = 0, RUNMODE_PCAP_DEV, RUNMODE_PCAP_FILE, RUNMODE_PFRING,
  RUNMODE_NFQ, RUNMODE_NFLOG, RUNMODE_IPFW, RUNMODE_ERF_FILE,
  RUNMODE_DAG, RUNMODE_AFP_DEV, RUNMODE_AFXDP_DEV, RUNMODE_NETMAP,
  RUNMODE_DPDK, RUNMODE_UNITTEST, RUNMODE_NAPATECH, RUNMODE_UNIX_SOCKET,
  RUNMODE_WINDIVERT, RUNMODE_PLUGIN, RUNMODE_USER_MAX, RUNMODE_LIST_KEYWORDS,
  RUNMODE_LIST_APP_LAYERS, RUNMODE_LIST_RUNMODES, RUNMODE_PRINT_VERSION, RUNMODE_PRINT_BUILDINFO,
  RUNMODE_PRINT_USAGE, RUNMODE_DUMP_CONFIG, RUNMODE_CONF_TEST, RUNMODE_LIST_UNITTEST,
  RUNMODE_ENGINE_ANALYSIS, RUNMODE_DUMP_FEATURES, RUNMODE_MAX
}
 

Functions

char * RunmodeGetActive (void)
 
const char * RunModeGetMainMode (void)
 
void RunModeListRunmodes (void)
 Lists all registered runmodes. More...
 
void RunModeEngineIsIPS (int capture_mode, const char *runmode, const char *capture_plugin_name)
 
void RunModeDispatch (int, const char *, const char *capture_plugin_name, const char *capture_plugin_args)
 
void RunModeRegisterRunModes (void)
 Register all runmodes in the engine. More...
 
void RunModeRegisterNewRunMode (enum RunModes, const char *, const char *, int(*RunModeFunc)(void), void(*RunModeIsIPSEnabled)(void))
 Registers a new runmode. More...
 
void RunModeInitializeThreadSettings (void)
 
void RunModeInitializeOutputs (void)
 
void RunModeShutDown (void)
 
int RunModeOutputFileEnabled (void)
 
int RunModeOutputFiledataEnabled (void)
 
bool IsRunModeOffline (enum RunModes run_mode_to_check)
 
bool IsRunModeSystem (enum RunModes run_mode_to_check)
 
void RunModeEnablesBypassManager (void)
 
int RunModeNeedsBypassManager (void)
 

Variables

const char * thread_name_autofp
 
const char * thread_name_single
 
const char * thread_name_workers
 
const char * thread_name_verdict
 
const char * thread_name_flow_mgr
 
const char * thread_name_flow_bypass
 
const char * thread_name_flow_rec
 
const char * thread_name_unix_socket
 
const char * thread_name_detect_loader
 
const char * thread_name_counter_stats
 
const char * thread_name_counter_wakeup
 
bool threading_set_cpu_affinity
 
float threading_detect_ratio
 
uint64_t threading_set_stack_size
 
int debuglog_enabled
 

Detailed Description

Author
Victor Julien victo.nosp@m.r@in.nosp@m.linia.nosp@m.c.ne.nosp@m.t

Definition in file runmodes.h.

Enumeration Type Documentation

◆ RunModes

enum RunModes
Enumerator
RUNMODE_UNKNOWN 
RUNMODE_PCAP_DEV 
RUNMODE_PCAP_FILE 
RUNMODE_PFRING 
RUNMODE_NFQ 
RUNMODE_NFLOG 
RUNMODE_IPFW 
RUNMODE_ERF_FILE 
RUNMODE_DAG 
RUNMODE_AFP_DEV 
RUNMODE_AFXDP_DEV 
RUNMODE_NETMAP 
RUNMODE_DPDK 
RUNMODE_UNITTEST 
RUNMODE_NAPATECH 
RUNMODE_UNIX_SOCKET 
RUNMODE_WINDIVERT 
RUNMODE_PLUGIN 
RUNMODE_USER_MAX 
RUNMODE_LIST_KEYWORDS 
RUNMODE_LIST_APP_LAYERS 
RUNMODE_LIST_RUNMODES 
RUNMODE_PRINT_VERSION 
RUNMODE_PRINT_BUILDINFO 
RUNMODE_PRINT_USAGE 
RUNMODE_DUMP_CONFIG 
RUNMODE_CONF_TEST 
RUNMODE_LIST_UNITTEST 
RUNMODE_ENGINE_ANALYSIS 
RUNMODE_DUMP_FEATURES 
RUNMODE_MAX 

Definition at line 27 of file runmodes.h.

Function Documentation

◆ IsRunModeOffline()

bool IsRunModeOffline ( enum RunModes  run_mode_to_check)

bool indicating if run mode is offline

Definition at line 574 of file runmodes.c.

References RUNMODE_CONF_TEST, RUNMODE_ENGINE_ANALYSIS, RUNMODE_ERF_FILE, RUNMODE_PCAP_FILE, and RUNMODE_UNIX_SOCKET.

Referenced by ConfUnixSocketIsEnable().

Here is the caller graph for this function:

◆ IsRunModeSystem()

bool IsRunModeSystem ( enum RunModes  run_mode_to_check)

Definition at line 561 of file runmodes.c.

References RUNMODE_ENGINE_ANALYSIS, RUNMODE_ERF_FILE, and RUNMODE_PCAP_FILE.

◆ RunModeDispatch()

void RunModeDispatch ( int  ,
const char *  ,
const char *  capture_plugin_name,
const char *  capture_plugin_args 
)

Definition at line 416 of file runmodes.c.

◆ RunModeEnablesBypassManager()

void RunModeEnablesBypassManager ( void  )

Definition at line 470 of file runmodes.c.

◆ RunModeEngineIsIPS()

void RunModeEngineIsIPS ( int  capture_mode,
const char *  runmode,
const char *  capture_plugin_name 
)

Definition at line 396 of file runmodes.c.

Referenced by PostConfLoadedSetup().

Here is the caller graph for this function:

◆ RunmodeGetActive()

char* RunmodeGetActive ( void  )

Return the running mode

The returned string must not be freed.

Returns
a string containing the current running mode

Definition at line 217 of file runmodes.c.

◆ RunModeGetMainMode()

const char* RunModeGetMainMode ( void  )

Return the running mode

The returned string must not be freed.

Returns
a string containing the current running mode

Definition at line 229 of file runmodes.c.

References RunmodeGetCurrent().

Here is the call graph for this function:

◆ RunModeInitializeOutputs()

void RunModeInitializeOutputs ( void  )

Initialize the output modules.

Definition at line 791 of file runmodes.c.

References ConfGetNode().

Referenced by PreRunPostPrivsDropInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RunModeInitializeThreadSettings()

void RunModeInitializeThreadSettings ( void  )

◆ RunModeListRunmodes()

void RunModeListRunmodes ( void  )

Lists all registered runmodes.

Definition at line 267 of file runmodes.c.

References RUNMODE_UNKNOWN, and RUNMODE_USER_MAX.

◆ RunModeNeedsBypassManager()

int RunModeNeedsBypassManager ( void  )

Definition at line 475 of file runmodes.c.

◆ RunModeOutputFiledataEnabled()

int RunModeOutputFiledataEnabled ( void  )

Definition at line 556 of file runmodes.c.

◆ RunModeOutputFileEnabled()

int RunModeOutputFileEnabled ( void  )

Definition at line 551 of file runmodes.c.

◆ RunModeRegisterNewRunMode()

void RunModeRegisterNewRunMode ( enum RunModes  runmode,
const char *  name,
const char *  description,
int(*)(void)  RunModeFunc,
void(*)(void)  RunModeIsIPSEnabled 
)

Registers a new runmode.

Parameters
runmodeRunmode type.
nameCustom mode for this specific runmode type. Within each runmode type, each custom name is a primary key.
descriptionDescription for this runmode.
RunModeFuncThe function to be run for this runmode.

Definition at line 491 of file runmodes.c.

Referenced by CiCaptureIdsRegister(), RunModeDpdkRegister(), RunModeErfDagRegister(), RunModeErfFileRegister(), RunModeFilePcapRegister(), RunModeIdsAFPRegister(), RunModeIdsAFXDPRegister(), RunModeIdsNetmapRegister(), RunModeIdsNflogRegister(), RunModeIdsPcapRegister(), RunModeIdsPfringRegister(), RunModeIpsIPFWRegister(), RunModeIpsNFQRegister(), RunModeIpsWinDivertRegister(), RunModeNapatechRegister(), RunModeUnixSocketRegister(), and UtRunModeRegister().

Here is the caller graph for this function:

◆ RunModeRegisterRunModes()

void RunModeRegisterRunModes ( void  )

Register all runmodes in the engine.

Definition at line 239 of file runmodes.c.

Referenced by InitGlobal().

Here is the caller graph for this function:

◆ RunModeShutDown()

void RunModeShutDown ( void  )

Cleanup the run mode.

Definition at line 592 of file runmodes.c.

Variable Documentation

◆ debuglog_enabled

int debuglog_enabled

Definition at line 74 of file runmodes.c.

◆ thread_name_autofp

const char* thread_name_autofp

◆ thread_name_counter_stats

const char* thread_name_counter_stats

Definition at line 88 of file runmodes.c.

◆ thread_name_counter_wakeup

const char* thread_name_counter_wakeup

Definition at line 89 of file runmodes.c.

◆ thread_name_detect_loader

const char* thread_name_detect_loader

Definition at line 87 of file runmodes.c.

◆ thread_name_flow_bypass

const char* thread_name_flow_bypass

Definition at line 85 of file runmodes.c.

Referenced by BypassedFlowManagerThreadSpawn().

◆ thread_name_flow_mgr

const char* thread_name_flow_mgr

Definition at line 83 of file runmodes.c.

Referenced by FlowDisableFlowManagerThread(), and TmThreadWaitOnThreadRunning().

◆ thread_name_flow_rec

const char* thread_name_flow_rec

Definition at line 84 of file runmodes.c.

Referenced by TmThreadWaitOnThreadRunning().

◆ thread_name_single

const char* thread_name_single

Definition at line 80 of file runmodes.c.

Referenced by RunModeErfFileSingle(), RunModeFilePcapSingle(), and RunModeIdsAFXDPSingle().

◆ thread_name_unix_socket

const char* thread_name_unix_socket

Definition at line 86 of file runmodes.c.

◆ thread_name_verdict

const char* thread_name_verdict

Definition at line 82 of file runmodes.c.

Referenced by RunModeSetIPSAutoFp(), and TmThreadWaitOnThreadRunning().

◆ thread_name_workers

◆ threading_detect_ratio

float threading_detect_ratio

◆ threading_set_cpu_affinity

bool threading_set_cpu_affinity

◆ threading_set_stack_size

uint64_t threading_set_stack_size

Definition at line 76 of file runmodes.c.

Referenced by RunModeInitializeThreadSettings(), and TmThreadSpawn().