]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
pf_ring: don't set cluster for DNA interface.
authorEric Leblond <eric@regit.org>
Mon, 29 Oct 2012 14:31:35 +0000 (15:31 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 31 Oct 2012 11:16:15 +0000 (12:16 +0100)
src/source-pfring.c

index f67a84ca1f3de2b744ceb13ade456b68e3d9bc6f..b02de9d3bc8925564c40d780c0da1f8606fee45d 100644 (file)
@@ -394,18 +394,22 @@ TmEcode ReceivePfringThreadInit(ThreadVars *tv, void *initdata, void **data) {
 
     ptv->cluster_id = pfconf->cluster_id;
 
+    if ((ptv->threads == 1) && (strncmp(ptv->interface, "dna", 3) == 0)) {
+        SCLogInfo("DNA interface detected, not adding thread to cluster");
+    } else {
 #ifdef HAVE_PFRING_CLUSTER_TYPE
-    ptv->ctype = pfconf->ctype;
-    rc = pfring_set_cluster(ptv->pd, ptv->cluster_id, ptv->ctype);
+        ptv->ctype = pfconf->ctype;
+        rc = pfring_set_cluster(ptv->pd, ptv->cluster_id, ptv->ctype);
 #else
-    rc = pfring_set_cluster(ptv->pd, ptv->cluster_id);
+        rc = pfring_set_cluster(ptv->pd, ptv->cluster_id);
 #endif /* HAVE_PFRING_CLUSTER_TYPE */
 
-    if (rc != 0) {
-        SCLogError(SC_ERR_PF_RING_SET_CLUSTER_FAILED, "pfring_set_cluster "
-                "returned %d for cluster-id: %d", rc, ptv->cluster_id);
-        pfconf->DerefFunc(pfconf);
-        return TM_ECODE_FAILED;
+        if (rc != 0) {
+            SCLogError(SC_ERR_PF_RING_SET_CLUSTER_FAILED, "pfring_set_cluster "
+                    "returned %d for cluster-id: %d", rc, ptv->cluster_id);
+            pfconf->DerefFunc(pfconf);
+            return TM_ECODE_FAILED;
+        }
     }
 
     if (ptv->threads > 1) {