]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Code to enable cuda support for pfring live mode. 450/head
authorAnoop Saldanha <anoopsaldanha@gmail.com>
Thu, 18 Jul 2013 10:21:50 +0000 (15:51 +0530)
committerAnoop Saldanha <anoopsaldanha@gmail.com>
Thu, 18 Jul 2013 10:21:55 +0000 (15:51 +0530)
src/source-pfring.c

index f18a20fdb1ee60f09dc796084394708c5504f978..d26b0a4714aa8045dfae69b77eef8c166b6c4680 100644 (file)
 #include "util-device.h"
 #include "runmodes.h"
 
+#ifdef __SC_CUDA_SUPPORT__
+
+#include "util-cuda.h"
+#include "util-cuda-buffer.h"
+#include "util-mpm-ac.h"
+#include "util-cuda-handlers.h"
+#include "detect-engine.h"
+#include "detect-engine-mpm.h"
+#include "util-cuda-vars.h"
+
+#endif /* __SC_CUDA_SUPPORT__ */
+
 TmEcode ReceivePfringLoop(ThreadVars *tv, void *data, void *slot);
 TmEcode ReceivePfringThreadInit(ThreadVars *, void *, void **);
 void ReceivePfringThreadExitStats(ThreadVars *, void *);
@@ -536,6 +548,11 @@ TmEcode DecodePfring(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, Pac
 
     DecodeEthernet(tv, dtv, p, GET_PKT_DATA(p), GET_PKT_LEN(p), pq);
 
+#ifdef __SC_CUDA_SUPPORT__
+    if (dtv->cuda_vars.mpm_is_cuda)
+        CudaBufferPacket(&dtv->cuda_vars, p);
+#endif
+
     return TM_ECODE_OK;
 }
 
@@ -561,6 +578,11 @@ TmEcode DecodePfringThreadInit(ThreadVars *tv, void *initdata, void **data)
 
     *data = (void *)dtv;
 
+#ifdef __SC_CUDA_SUPPORT__
+    if (CudaThreadVarsInit(&dtv->cuda_vars) < 0)
+        SCReturnInt(TM_ECODE_FAILED);
+#endif
+
     return TM_ECODE_OK;
 }
 #endif /* HAVE_PFRING */