]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
util/mtu: Avoid excessive ioctls for MTU
authorJeff Lucovsky <jlucovsky@oisf.net>
Mon, 16 Jun 2025 14:04:48 +0000 (10:04 -0400)
committerVictor Julien <victor@inliniac.net>
Wed, 18 Jun 2025 16:22:54 +0000 (18:22 +0200)
Issue: 7643

Use the cached livedev MTU value, when available.

src/util-ioctl.c

index 813a5590cd38ad4c5d38cd7b7f21087a6a0804f3..d335ecce1952a8452f0c39cdb81a1e82bf95f566 100644 (file)
@@ -127,13 +127,16 @@ int GetIfaceMaxPacketSize(LiveDevice *ld)
     if ((dev == NULL) || strlen(dev) == 0)
         return 0;
 
-    int mtu = GetIfaceMTU(dev);
-    switch (mtu) {
-        case 0:
-        case -1:
-            return 0;
+    int mtu = ld->mtu;
+    if (ld->mtu == 0) {
+        mtu = GetIfaceMTU(dev);
+        switch (mtu) {
+            case 0:
+            case -1:
+                return 0;
+        }
+        ld->mtu = mtu;
     }
-    ld->mtu = mtu;
     int ll_header = GetIfaceMaxHWHeaderLength(dev);
     return ll_header + mtu;
 }