The following reply was made to PR kern/38637; it has been noted by GNATS.
From: Martin Husemann <martin%duskware.de@localhost>
To: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/38637: pppoe fails to reconnect sometimes
Date: Thu, 2 Oct 2008 12:45:14 +0200
On Wed, Oct 01, 2008 at 10:10:27PM +0200, Manuel Bouyer wrote:
> (all other queue length are 0). So it looks like the pppoe queues stop
> being processed, for unknown reason. This may even be the reason of the
> disconnect in the first place.
Sorry, I don't see how this could happen besides the softint handling
breaking completely (something corrupting the call wheel?):
ether_input does:
if (etype == ETHERTYPE_PPPOEDISC)
inq = &ppoediscinq;
else
inq = &ppoeinq;
if (IF_QFULL(inq)) {
IF_DROP(inq);
m_freem(m);
} else
IF_ENQUEUE(inq, m);
softint_schedule(pppoe_softintr);
return;
This should make pppoe_softintr_handler() run, which just does:
mutex_enter(softnet_lock);
pppoe_input();
mutex_exit(softnet_lock);
and pppoe_input() loops untill the queues are both empty.
Can you find out if pppoe_softintr_handler is getting called at all?
Martin