NetBSD-Bugs archive

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

Re: kern/38637: pppoe fails to reconnect sometimes



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
 


Home | Main Index | Thread Index | Old Index