From: Zachary Rasmor Date: Thu, 5 Nov 2015 05:30:31 +0000 (-0500) Subject: Add global threadnames. X-Git-Tag: suricata-3.1RC1~218 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c8759c189cd3f55d6630aac54112681cf833780;p=thirdparty%2Fsuricata.git Add global threadnames. Update thread naming convention to follow: W#01-eth0. Add interface name where applicable, add #. --- diff --git a/src/runmodes.c b/src/runmodes.c index ee93b0c05e..99a28fcddb 100644 --- a/src/runmodes.c +++ b/src/runmodes.c @@ -58,6 +58,14 @@ int debuglog_enabled = 0; +/* Runmode Global Thread Names */ +char *thread_name_autofp = "RX"; +char *thread_name_single = "W"; +char *thread_name_workers = "W"; +char *thread_name_verdict = "TX"; +char *thread_name_flow_mgr = "FM"; +char *thread_name_flow_rec = "FR"; + /** * \brief Holds description for a runmode. */ diff --git a/src/runmodes.h b/src/runmodes.h index bd8d03263e..726d49992d 100644 --- a/src/runmodes.h +++ b/src/runmodes.h @@ -60,6 +60,14 @@ enum { RUNMODE_MAX, }; +/* Run Mode Global Thread Names */ +extern char *thread_name_autofp; +extern char *thread_name_single; +extern char *thread_name_workers; +extern char *thread_name_verdict; +extern char *thread_name_flow_mgr; +extern char *thread_name_flow_rec; + char *RunmodeGetActive(void); const char *RunModeGetMainMode(void); diff --git a/src/util-runmodes.c b/src/util-runmodes.c index 9ac5c7df4b..5e6f736629 100644 --- a/src/util-runmodes.c +++ b/src/util-runmodes.c @@ -147,7 +147,7 @@ int RunModeSetLiveCaptureAutoFp(ConfigIfaceParserFunc ConfigParser, /* create the threads */ for (thread = 0; thread < threads_count; thread++) { - snprintf(tname, sizeof(tname), "%s%02d", thread_name, thread+1); + snprintf(tname, sizeof(tname), "%s#%02d", thread_name, thread+1); char *thread_name = SCStrdup(tname); if (unlikely(thread_name == NULL)) { SCLogError(SC_ERR_MEM_ALLOC, "Can't allocate thread name"); @@ -191,7 +191,7 @@ int RunModeSetLiveCaptureAutoFp(ConfigIfaceParserFunc ConfigParser, for (lthread = 0; lthread < nlive; lthread++) { char *live_dev = LiveGetDeviceName(lthread); - char visual_devname[12] = ""; + char visual_devname[11] = ""; int shortening_result; void *aconf; int threads_count; @@ -217,7 +217,7 @@ int RunModeSetLiveCaptureAutoFp(ConfigIfaceParserFunc ConfigParser, exit(EXIT_FAILURE); } - snprintf(tname, sizeof(tname), "%s%02d-%s", thread_name, + snprintf(tname, sizeof(tname), "%s#%02d-%s", thread_name, thread+1, visual_devname); char *thread_name = SCStrdup(tname); @@ -258,7 +258,7 @@ int RunModeSetLiveCaptureAutoFp(ConfigIfaceParserFunc ConfigParser, } for (thread = 0; thread < thread_max; thread++) { - snprintf(tname, sizeof(tname), "W%02d", thread+1); + snprintf(tname, sizeof(tname), "%s#%02d", thread_name_workers, thread+1); snprintf(qname, sizeof(qname), "pickup%d", thread+1); SCLogDebug("tname %s, qname %s", tname, qname); @@ -334,21 +334,21 @@ static int RunModeSetLiveCaptureWorkersForDevice(ConfigIfaceThreadsCountFunc Mod for (thread = 0; thread < threads_count; thread++) { char tname[TM_THREAD_NAME_MAX]; char *n_thread_name = NULL; - char visual_devname[12] = ""; + char visual_devname[11] = ""; int shortening_result; ThreadVars *tv = NULL; TmModule *tm_module = NULL; + shortening_result = LiveSafeDeviceName(live_dev, visual_devname, sizeof(visual_devname)); + if (shortening_result != 0) { + SCLogError(SC_ERR_INVALID_VALUE, "Could not shorten long devicename: %s", live_dev); + exit(EXIT_FAILURE); + } + if (single_mode) { - snprintf(tname, sizeof(tname), "%s01", thread_name); + snprintf(tname, sizeof(tname), "%s#01-%s", thread_name, visual_devname); } else { - shortening_result = LiveSafeDeviceName(live_dev, visual_devname, sizeof(visual_devname)); - if (shortening_result != 0) { - SCLogError(SC_ERR_INVALID_VALUE, "Could not shorten long devicename: %s", live_dev); - exit(EXIT_FAILURE); - } - - snprintf(tname, sizeof(tname), "%s%02d-%s", thread_name, + snprintf(tname, sizeof(tname), "%s#%02d-%s", thread_name, thread+1, visual_devname); } tv = TmThreadCreatePacketHandler(tname, @@ -521,7 +521,7 @@ int RunModeSetIPSAutoFp(ConfigIPSParserFunc ConfigParser, exit(EXIT_FAILURE); } memset(tname, 0, sizeof(tname)); - snprintf(tname, sizeof(tname), "RX-Q%s", cur_queue); + snprintf(tname, sizeof(tname), "%s-Q%s", thread_name_autofp, cur_queue); ThreadVars *tv_receive = TmThreadCreatePacketHandler(tname, @@ -554,7 +554,7 @@ int RunModeSetIPSAutoFp(ConfigIPSParserFunc ConfigParser, } for (thread = 0; thread < thread_max; thread++) { - snprintf(tname, sizeof(tname), "W%02d", thread+1); + snprintf(tname, sizeof(tname), "%s#%02d", thread_name_workers, thread+1); snprintf(qname, sizeof(qname), "pickup%d", thread+1); SCLogDebug("tname %s, qname %s", tname, qname); @@ -599,7 +599,7 @@ int RunModeSetIPSAutoFp(ConfigIPSParserFunc ConfigParser, /* create the threads */ for (int i = 0; i < nqueue; i++) { memset(tname, 0, sizeof(tname)); - snprintf(tname, sizeof(tname), "TX%02d", i); + snprintf(tname, sizeof(tname), "%s#%02d", thread_name_verdict, i); ThreadVars *tv_verdict = TmThreadCreatePacketHandler(tname, @@ -658,7 +658,7 @@ int RunModeSetIPSWorker(ConfigIPSParserFunc ConfigParser, exit(EXIT_FAILURE); } memset(tname, 0, sizeof(tname)); - snprintf(tname, sizeof(tname), "W-Q%s", cur_queue); + snprintf(tname, sizeof(tname), "%s-Q%s", thread_name_workers, cur_queue); tv = TmThreadCreatePacketHandler(tname, "packetpool", "packetpool",