Use ringbuffers in the pcap live auto runmode as well.

remotes/origin/master-1.0.x
Victor Julien 15 years ago
parent 3b0c4133fc
commit 2fe77bf65e

@ -1900,7 +1900,7 @@ int RunModeIdsPcapAuto(DetectEngineCtx *de_ctx, char *iface) {
TimeModeSetLive();
/* create the threads */
ThreadVars *tv_receivepcap = TmThreadCreatePacketHandler("ReceivePcap","packetpool","packetpool","pickup-queue","simple","1slot");
ThreadVars *tv_receivepcap = TmThreadCreatePacketHandler("ReceivePcap","packetpool","packetpool","pickup-queue","ringbuffer","1slot");
if (tv_receivepcap == NULL) {
printf("ERROR: TmThreadsCreate failed\n");
exit(EXIT_FAILURE);
@ -1921,7 +1921,7 @@ int RunModeIdsPcapAuto(DetectEngineCtx *de_ctx, char *iface) {
exit(EXIT_FAILURE);
}
ThreadVars *tv_decode1 = TmThreadCreatePacketHandler("Decode1","pickup-queue","simple","decode-queue1","simple","1slot");
ThreadVars *tv_decode1 = TmThreadCreatePacketHandler("Decode1","pickup-queue","ringbuffer","decode-queue1","ringbuffer","1slot");
if (tv_decode1 == NULL) {
printf("ERROR: TmThreadsCreate failed for Decode1\n");
exit(EXIT_FAILURE);
@ -1942,7 +1942,7 @@ int RunModeIdsPcapAuto(DetectEngineCtx *de_ctx, char *iface) {
exit(EXIT_FAILURE);
}
ThreadVars *tv_stream1 = TmThreadCreatePacketHandler("Stream1","decode-queue1","simple","stream-queue1","simple","1slot");
ThreadVars *tv_stream1 = TmThreadCreatePacketHandler("Stream1","decode-queue1","ringbuffer","stream-queue1","ringbuffer","1slot");
if (tv_stream1 == NULL) {
printf("ERROR: TmThreadsCreate failed for Stream1\n");
exit(EXIT_FAILURE);
@ -1971,7 +1971,7 @@ int RunModeIdsPcapAuto(DetectEngineCtx *de_ctx, char *iface) {
char *thread_name = SCStrdup(tname);
SCLogDebug("Assigning %s affinity to cpu %u", thread_name, cpu);
ThreadVars *tv_detect_ncpu = TmThreadCreatePacketHandler(thread_name,"stream-queue1","simple","verdict-queue","simple","1slot");
ThreadVars *tv_detect_ncpu = TmThreadCreatePacketHandler(thread_name,"stream-queue1","ringbuffer","verdict-queue","ringbuffer","1slot");
if (tv_detect_ncpu == NULL) {
printf("ERROR: TmThreadsCreate failed\n");
exit(EXIT_FAILURE);
@ -2001,7 +2001,7 @@ int RunModeIdsPcapAuto(DetectEngineCtx *de_ctx, char *iface) {
}
}
ThreadVars *tv_rreject = TmThreadCreatePacketHandler("RespondReject","verdict-queue","simple","alert-queue","simple","1slot");
ThreadVars *tv_rreject = TmThreadCreatePacketHandler("RespondReject","verdict-queue","ringbuffer","alert-queue","ringbuffer","1slot");
if (tv_rreject == NULL) {
printf("ERROR: TmThreadsCreate failed\n");
exit(EXIT_FAILURE);
@ -2023,7 +2023,7 @@ int RunModeIdsPcapAuto(DetectEngineCtx *de_ctx, char *iface) {
}
ThreadVars *tv_outputs = TmThreadCreatePacketHandler("Outputs",
"alert-queue", "simple", "packetpool", "packetpool", "varslot");
"alert-queue", "ringbuffer", "packetpool", "packetpool", "varslot");
SetupOutputs(tv_outputs);
TmThreadSetCPUAffinity(tv_outputs, 0);

@ -2,6 +2,8 @@
#include "suricata.h"
#include "util-ringbuffer.h"
#define USLEEP_TIME 5
/* Multi Reader, Single Writer, 8 bits */
RingBufferMrSw8 *RingBufferMrSw8Init(void) {
@ -42,7 +44,7 @@ retry:
if (rb->shutdown != 0)
return NULL;
usleep(1);
usleep(USLEEP_TIME);
}
/* atomically update rb->read */
@ -73,7 +75,7 @@ int RingBufferMrSw8Put(RingBufferMrSw8 *rb, void *ptr) {
if (rb->shutdown != 0)
return -1;
usleep(1);
usleep(USLEEP_TIME);
}
rb->array[rb->write] = ptr;
@ -121,7 +123,7 @@ retry:
if (rb->shutdown != 0)
return NULL;
usleep(1);
usleep(USLEEP_TIME);
}
/* atomically update rb->read */
@ -152,7 +154,7 @@ int RingBufferMrSwPut(RingBufferMrSw *rb, void *ptr) {
if (rb->shutdown != 0)
return -1;
usleep(1);
usleep(USLEEP_TIME);
}
rb->array[rb->write] = ptr;
@ -188,7 +190,7 @@ void *RingBufferSrSwGet(RingBufferSrSw *rb) {
if (rb->shutdown != 0)
return NULL;
usleep(1);
usleep(USLEEP_TIME);
}
ptr = rb->array[rb->read];
@ -204,7 +206,7 @@ int RingBufferSrSwPut(RingBufferSrSw *rb, void *ptr) {
if (rb->shutdown != 0)
return -1;
usleep(1);
usleep(USLEEP_TIME);
}
rb->array[rb->write] = ptr;
@ -255,7 +257,7 @@ retry:
if (rb->shutdown != 0)
return NULL;
usleep(1);
usleep(USLEEP_TIME);
}
/* atomically update rb->read */
@ -302,7 +304,7 @@ retry:
if (rb->shutdown != 0)
return -1;
usleep(1);
usleep(USLEEP_TIME);
}
/* get our lock */
@ -366,7 +368,7 @@ retry:
if (rb->shutdown != 0)
return NULL;
usleep(1);
usleep(USLEEP_TIME);
}
/* atomically update rb->read */
@ -413,7 +415,7 @@ retry:
if (rb->shutdown != 0)
return -1;
usleep(1);
usleep(USLEEP_TIME);
}
/* get our lock */

Loading…
Cancel
Save