Index: if.c =================================================================== RCS file: /cvs/src/sys/net/if.c,v retrieving revision 1.428 diff -u -p -r1.428 if.c --- if.c 7 Mar 2016 18:44:00 -0000 1.428 +++ if.c 9 Mar 2016 04:01:01 -0000 @@ -1130,8 +1130,15 @@ int if_congested(void) { extern int ticks; + int diff; - return (ticks - ifq_congestion <= (hz / 100)); + diff = ticks - ifq_congestion; + if (diff < 0) { + ifq_congestion = ticks - hz; + return (0); + } + + return (diff <= (hz / 100)); } #define equal(a1, a2) \