summaryrefslogtreecommitdiffstats
path: root/src/suricata.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/suricata.c')
-rw-r--r--src/suricata.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/suricata.c b/src/suricata.c
index d0e1049..1c5ac7c 100644
--- a/src/suricata.c
+++ b/src/suricata.c
@@ -881,9 +881,6 @@ int g_ut_covered;
void RegisterAllModules(void)
{
- // zero all module storage
- memset(tmm_modules, 0, TMM_SIZE * sizeof(TmModule));
-
/* commanders */
TmModuleUnixManagerRegister();
/* managers */
@@ -2672,6 +2669,10 @@ int PostConfLoadedSetup(SCInstance *suri)
MacSetRegisterFlowStorage();
+#ifdef HAVE_PLUGINS
+ SCPluginsLoad(suri->capture_plugin_name, suri->capture_plugin_args);
+#endif
+
LiveDeviceFinalize(); // must be after EBPF extension registration
RunModeEngineIsIPS(
@@ -2743,9 +2744,6 @@ int PostConfLoadedSetup(SCInstance *suri)
FeatureTrackingRegister(); /* must occur prior to output mod registration */
RegisterAllModules();
-#ifdef HAVE_PLUGINS
- SCPluginsLoad(suri->capture_plugin_name, suri->capture_plugin_args);
-#endif
AppLayerHtpNeedFileInspection();
StorageFinalize();
@@ -2869,6 +2867,10 @@ int InitGlobal(void)
ConfInit();
VarNameStoreInit();
+
+ // zero all module storage
+ memset(tmm_modules, 0, TMM_SIZE * sizeof(TmModule));
+
return 0;
}
@@ -2971,7 +2973,10 @@ int SuricataMain(int argc, char **argv)
goto out;
}
- SystemHugepageSnapshot *prerun_snap = SystemHugepageSnapshotCreate();
+ SystemHugepageSnapshot *prerun_snap = NULL;
+ if (run_mode == RUNMODE_DPDK)
+ prerun_snap = SystemHugepageSnapshotCreate();
+
SCSetStartTime(&suricata);
RunModeDispatch(suricata.run_mode, suricata.runmode_custom_mode,
suricata.capture_plugin_name, suricata.capture_plugin_args);
@@ -3029,13 +3034,12 @@ int SuricataMain(int argc, char **argv)
OnNotifyRunning();
PostRunStartedDetectSetup(&suricata);
-
- SystemHugepageSnapshot *postrun_snap = SystemHugepageSnapshotCreate();
- if (run_mode == RUNMODE_DPDK) // only DPDK uses hpages at the moment
+ if (run_mode == RUNMODE_DPDK) { // only DPDK uses hpages at the moment
+ SystemHugepageSnapshot *postrun_snap = SystemHugepageSnapshotCreate();
SystemHugepageEvaluateHugepages(prerun_snap, postrun_snap);
- SystemHugepageSnapshotDestroy(prerun_snap);
- SystemHugepageSnapshotDestroy(postrun_snap);
-
+ SystemHugepageSnapshotDestroy(prerun_snap);
+ SystemHugepageSnapshotDestroy(postrun_snap);
+ }
SCPledge();
SuricataMainLoop(&suricata);