suricata
|
#include "suricata-common.h"
#include "detect-engine.h"
#include "app-layer-parser.h"
#include "util-debug.h"
#include "util-affinity.h"
#include "conf.h"
#include "runmodes.h"
#include "runmode-af-packet.h"
#include "runmode-af-xdp.h"
#include "runmode-dpdk.h"
#include "runmode-erf-dag.h"
#include "runmode-erf-file.h"
#include "runmode-ipfw.h"
#include "runmode-netmap.h"
#include "runmode-nflog.h"
#include "runmode-nfq.h"
#include "runmode-pcap.h"
#include "runmode-pcap-file.h"
#include "runmode-unix-socket.h"
#include "runmode-windivert.h"
#include "util-unittest.h"
#include "util-misc.h"
#include "util-plugin.h"
#include "output.h"
#include "tmqh-flow.h"
#include "flow-manager.h"
#include "flow-bypass.h"
#include "counters.h"
#include "suricata-plugin.h"
#include "util-device.h"
Go to the source code of this file.
Data Structures | |
struct | RunMode_ |
Holds description for a runmode. More... | |
struct | RunModes_ |
struct | OutputFreeList_ |
Typedefs | |
typedef struct RunMode_ | RunMode |
Holds description for a runmode. More... | |
typedef struct RunModes_ | RunModes |
typedef struct OutputFreeList_ | OutputFreeList |
Functions | |
char * | RunmodeGetActive (void) |
const char * | RunModeGetMainMode (void) |
void | RunModeRegisterRunModes (void) |
Register all runmodes in the engine. More... | |
void | RunModeListRunmodes (void) |
Lists all registered runmodes. More... | |
int | RunModeEngineIsIPS (int capture_mode, const char *runmode, const char *capture_plugin_name) |
void | RunModeDispatch (int runmode, const char *custom_mode, const char *capture_plugin_name, const char *capture_plugin_args) |
void | RunModeEnablesBypassManager (void) |
int | RunModeNeedsBypassManager (void) |
void | RunModeRegisterNewRunMode (enum RunModes runmode, const char *name, const char *description, int(*RunModeFunc)(void), int(*RunModeIsIPSEnabled)(void)) |
Registers a new runmode. More... | |
int | RunModeOutputFiledataEnabled (void) |
bool | IsRunModeSystem (enum RunModes run_mode_to_check) |
bool | IsRunModeOffline (enum RunModes run_mode_to_check) |
void | RunModeShutDown (void) |
void | RunModeInitializeOutputs (void) |
void | RunModeInitializeThreadSettings (void) |
Variables | |
int | debuglog_enabled = 0 |
bool | threading_set_cpu_affinity = false |
uint64_t | threading_set_stack_size = 0 |
const char * | thread_name_autofp = "RX" |
const char * | thread_name_single = "W" |
const char * | thread_name_workers = "W" |
const char * | thread_name_verdict = "TX" |
const char * | thread_name_flow_mgr = "FM" |
const char * | thread_name_flow_rec = "FR" |
const char * | thread_name_flow_bypass = "FB" |
const char * | thread_name_unix_socket = "US" |
const char * | thread_name_detect_loader = "DL" |
const char * | thread_name_counter_stats = "CS" |
const char * | thread_name_counter_wakeup = "CW" |
bool | g_file_logger_enabled |
bool | g_filedata_logger_enabled |
float | threading_detect_ratio = 1 |
Pre-cooked threading runmodes.
Definition in file runmodes.c.
typedef struct OutputFreeList_ OutputFreeList |
bool IsRunModeOffline | ( | enum RunModes | run_mode_to_check | ) |
bool indicating if run mode is offline
Definition at line 540 of file runmodes.c.
References RUNMODE_CONF_TEST, RUNMODE_ENGINE_ANALYSIS, RUNMODE_ERF_FILE, RUNMODE_PCAP_FILE, and RUNMODE_UNIX_SOCKET.
Referenced by ConfUnixSocketIsEnable().
bool IsRunModeSystem | ( | enum RunModes | run_mode_to_check | ) |
Definition at line 527 of file runmodes.c.
References RUNMODE_ENGINE_ANALYSIS, RUNMODE_ERF_FILE, and RUNMODE_PCAP_FILE.
void RunModeDispatch | ( | int | runmode, |
const char * | custom_mode, | ||
const char * | capture_plugin_name, | ||
const char * | capture_plugin_args | ||
) |
Definition at line 390 of file runmodes.c.
void RunModeEnablesBypassManager | ( | void | ) |
Definition at line 444 of file runmodes.c.
int RunModeEngineIsIPS | ( | int | capture_mode, |
const char * | runmode, | ||
const char * | capture_plugin_name | ||
) |
Definition at line 360 of file runmodes.c.
Referenced by PostConfLoadedSetup().
char* RunmodeGetActive | ( | void | ) |
Return the running mode
The returned string must not be freed.
Definition at line 194 of file runmodes.c.
const char* RunModeGetMainMode | ( | void | ) |
Return the running mode
The returned string must not be freed.
Definition at line 206 of file runmodes.c.
References SCRunmodeGet().
void RunModeInitializeOutputs | ( | void | ) |
Initialize the output modules.
Definition at line 747 of file runmodes.c.
References ALPROTO_MAX, OutputModule_::conf_name, ConfGetNode(), ConfNodeLookupChild(), ConfNodeLookupChildValue(), ConfValIsTrue(), OutputInitResult_::ctx, FatalError, FatalErrorOnInit, OutputModule_::InitFunc, OutputModule_::InitSubFunc, next, OutputInitResult_::ok, output_modules, SCLogInfo, SCLogWarning, TAILQ_FOREACH, and ConfNode_::val.
Referenced by PreRunPostPrivsDropInit().
void RunModeInitializeThreadSettings | ( | void | ) |
Initialize multithreading settings.
Definition at line 932 of file runmodes.c.
References AffinitySetupLoadFromConfig(), ConfGet(), ConfGetBool(), ConfGetFloat(), ConfGetNode(), FatalError, ParseSizeStringU64(), SCLogDebug, SCLogNotice, threading_detect_ratio, threading_set_cpu_affinity, threading_set_stack_size, and WarnInvalidConfEntry.
void RunModeListRunmodes | ( | void | ) |
Lists all registered runmodes.
Definition at line 241 of file runmodes.c.
References RUNMODE_UNKNOWN, and RUNMODE_USER_MAX.
int RunModeNeedsBypassManager | ( | void | ) |
Definition at line 449 of file runmodes.c.
int RunModeOutputFiledataEnabled | ( | void | ) |
Definition at line 522 of file runmodes.c.
void RunModeRegisterNewRunMode | ( | enum RunModes | runmode, |
const char * | name, | ||
const char * | description, | ||
int(*)(void) | RunModeFunc, | ||
int(*)(void) | RunModeIsIPSEnabled | ||
) |
Registers a new runmode.
runmode | Runmode type. |
name | Custom mode for this specific runmode type. Within each runmode type, each custom name is a primary key. |
description | Description for this runmode. |
RunModeFunc | The function to be run for this runmode. |
Definition at line 465 of file runmodes.c.
Referenced by CiCaptureIdsRegister(), RunModeDpdkRegister(), RunModeErfDagRegister(), RunModeErfFileRegister(), RunModeFilePcapRegister(), RunModeIdsAFPRegister(), RunModeIdsAFXDPRegister(), RunModeIdsNetmapRegister(), RunModeIdsNflogRegister(), RunModeIdsPcapRegister(), RunModeIpsIPFWRegister(), RunModeIpsNFQRegister(), RunModeIpsWinDivertRegister(), RunModeUnixSocketRegister(), and UtRunModeRegister().
void RunModeRegisterRunModes | ( | void | ) |
Register all runmodes in the engine.
Definition at line 216 of file runmodes.c.
Referenced by InitGlobal().
void RunModeShutDown | ( | void | ) |
Cleanup the run mode.
Definition at line 558 of file runmodes.c.
int debuglog_enabled = 0 |
Definition at line 59 of file runmodes.c.
bool g_file_logger_enabled |
Definition at line 39 of file output-file.c.
bool g_filedata_logger_enabled |
Definition at line 37 of file output-filedata.c.
const char* thread_name_autofp = "RX" |
Definition at line 64 of file runmodes.c.
Referenced by RunModeErfFileAutoFp(), RunModeFilePcapAutoFp(), and RunModeSetIPSAutoFp().
const char* thread_name_counter_stats = "CS" |
Definition at line 73 of file runmodes.c.
const char* thread_name_counter_wakeup = "CW" |
Definition at line 74 of file runmodes.c.
const char* thread_name_detect_loader = "DL" |
Definition at line 72 of file runmodes.c.
const char* thread_name_flow_bypass = "FB" |
Definition at line 70 of file runmodes.c.
Referenced by BypassedFlowManagerThreadSpawn().
const char* thread_name_flow_mgr = "FM" |
Definition at line 68 of file runmodes.c.
Referenced by FlowDisableFlowManagerThread().
const char* thread_name_flow_rec = "FR" |
Definition at line 69 of file runmodes.c.
const char* thread_name_single = "W" |
Definition at line 65 of file runmodes.c.
Referenced by RunModeErfFileSingle(), RunModeFilePcapSingle(), and RunModeIdsAFXDPSingle().
const char* thread_name_unix_socket = "US" |
Definition at line 71 of file runmodes.c.
const char* thread_name_verdict = "TX" |
Definition at line 67 of file runmodes.c.
Referenced by RunModeSetIPSAutoFp().
const char* thread_name_workers = "W" |
Definition at line 66 of file runmodes.c.
Referenced by RunModeErfFileAutoFp(), RunModeFilePcapAutoFp(), RunModeIdsAFXDPWorkers(), RunModeIdsDpdkWorkers(), RunModeSetIPSAutoFp(), RunModeSetIPSWorker(), and RunModeSetLiveCaptureAutoFp().
float threading_detect_ratio = 1 |
Definition at line 927 of file runmodes.c.
Referenced by RunModeErfFileAutoFp(), RunModeFilePcapAutoFp(), RunModeInitializeThreadSettings(), and TmThreadsGetWorkerThreadMax().
bool threading_set_cpu_affinity = false |
Definition at line 60 of file runmodes.c.
Referenced by RunModeErfFileAutoFp(), RunModeInitializeThreadSettings(), and TmThreadSetCPU().
uint64_t threading_set_stack_size = 0 |
Definition at line 61 of file runmodes.c.
Referenced by RunModeInitializeThreadSettings(), and TmThreadSpawn().