]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
pfring: support checking/disabling offloading
authorVictor Julien <victor@inliniac.net>
Mon, 29 Oct 2018 08:37:11 +0000 (09:37 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 30 Oct 2018 09:21:34 +0000 (10:21 +0100)
src/runmode-pfring.c

index 9c107b74ee7bd9ac8568a6bc10d16416c7dbb8e9..16712a689c3c107425e10ab7687bf81a543334c0 100644 (file)
@@ -29,6 +29,7 @@
 #include "util-affinity.h"
 #include "util-runmodes.h"
 #include "util-device.h"
+#include "util-ioctl.h"
 
 #ifdef HAVE_PFRING
 #include <pfring.h>
@@ -372,6 +373,14 @@ static void *ParsePfringConfig(const char *iface)
         }
     }
 
+    if (LiveGetOffload() == 0) {
+        if (GetIfaceOffloading(iface, 0, 1) == 1) {
+            SCLogWarning(SC_ERR_NIC_OFFLOADING,
+                    "Using PF_RING with offloading activated leads to capture problems");
+        }
+    } else {
+        DisableIfaceOffloading(LiveGetDevice(iface), 0, 1);
+    }
     return pfconf;
 }