]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
offloading: don't set multiple times per interface
authorVictor Julien <victor@inliniac.net>
Sat, 15 Dec 2018 14:20:39 +0000 (15:20 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 18 Dec 2018 14:33:22 +0000 (15:33 +0100)
This could happen with netmap igb0->igb0^ IPS mode.

src/util-ioctl.c

index dbbda654f64b91e3131906ac9b47868ab37a720c..9141041d309bdb0e9bfa90c9335fcb94d7c9a1a7 100644 (file)
@@ -691,6 +691,9 @@ int GetIfaceOffloading(const char *dev, int csum, int other)
 
 int DisableIfaceOffloading(LiveDevice *dev, int csum, int other)
 {
+    /* already set */
+    if (dev->offload_orig != 0)
+        return 0;
 #if defined HAVE_LINUX_ETHTOOL_H && defined SIOCETHTOOL
     return DisableIfaceOffloadingLinux(dev, csum, other);
 #elif defined SIOCSIFCAP