Subject: Re: lcp timouts with PPPoE and earthlink DSL
To: John Hayward <John.C.Hayward@wheaton.edu>
From: Martin Husemann <martin@duskware.de>
List: current-users
Date: 01/07/2003 22:15:37
On Tue, Jan 07, 2003 at 01:06:32PM +0000, John Hayward wrote:

>    The major remaining problem I have is that when I'm running NetBSD-1.6
> connected via pppoe I see many messages "lcp timeout - restarting
> connection" (or something similar to that).  It takes a while for the
> connection to be restablished - about as long as it is connected.

So this is not an event happening sometimes, but it's always in the reconnect
state? This is strange. Maybe your provider refuses to answer LCP echo
requests. Very strange, and sounds like a gross PPP violation. But let's
be constructive:

You can check this with a simple source change:

In sys/net/if_pppoe.c (about line 227 in -current, but you'll find it in 1.6
easily) you'll see this code:

        sc->sc_sppp.pp_if.if_hdrlen = sizeof(struct ether_header) + PPPOE_HEADE$        sc->sc_sppp.pp_if.if_dlt = DLT_PPP_ETHER;
        sc->sc_sppp.pp_flags |= PP_KEEPALIVE |  /* use LCP keepalive */
                                PP_NOFRAMING;   /* no serial encapsulation */
        sc->sc_sppp.pp_if.if_ioctl = pppoe_ioctl;
        IFQ_SET_MAXLEN(&sc->sc_sppp.pp_if.if_snd, IFQ_MAXLEN);
        IFQ_SET_READY(&sc->sc_sppp.pp_if.if_snd);

You need to comment out the PP_KEEPALIVE flag here, so this two lines become:

        sc->sc_sppp.pp_flags |= /* PP_KEEPALIVE | */
                                PP_NOFRAMING;   /* no serial encapsulation */

Please let me know if this helps you, I'll see how we can fix it properly
then.

Martin