[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[altq 994] Re: rl0 Watchdog timeout



In reply to altq 681 and 679, I have seen a similar behavior on the
dc driver.  The problem is that typical *_start() routine expects
to always get an mbuf from the dequeue operation.  With altq,
the dequeue operation might not return an mbuf.

So to fix the watchdog timeout problem, you need to put a condition
(mbuf != NULL) around the setting of if_timer.  If_timer is used
by net/if.c:if_slowtimo() to call the watchdog routine.  So if the
*_start() routine does not get an mbuf to send, if_timer should not
be set.

Hope this helps,
-santa