diff --git a/src/util-ioctl.c b/src/util-ioctl.c index 813a5590cd..d335ecce19 100644 --- a/src/util-ioctl.c +++ b/src/util-ioctl.c @@ -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; }