SCLogConfig("Using bypass kernel functionality for AF_PACKET (iface %s)",
aconf->iface);
aconf->flags |= AFP_BYPASS;
+ RunModeEnablesBypassManager();
}
}
/* spawn management threads */
FlowManagerThreadSpawn();
FlowRecyclerThreadSpawn();
- BypassedFlowManagerThreadSpawn();
+ if (RunModeNeedsBypassManager()) {
+ BypassedFlowManagerThreadSpawn();
+ }
StatsSpawnThreads();
}
}
+static int g_runmode_needs_bypass = 0;
+
+void RunModeEnablesBypassManager(void)
+{
+ g_runmode_needs_bypass = 1;
+}
+
+int RunModeNeedsBypassManager(void)
+{
+ return g_runmode_needs_bypass;
+}
+
+
+
/**
* \brief Registers a new runmode.
*
/** bool indicating if run mode is offline */
bool IsRunModeOffline(int run_mode_to_check);
+void RunModeEnablesBypassManager(void);
+int RunModeNeedsBypassManager(void);
+
#include "runmode-pcap.h"
#include "runmode-pcap-file.h"
#include "runmode-pfring.h"