From owner-freebsd-isp Wed Jul 30 06:21:22 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id GAA29836 for isp-outgoing; Wed, 30 Jul 1997 06:21:22 -0700 (PDT) Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id GAA29825 for ; Wed, 30 Jul 1997 06:21:15 -0700 (PDT) Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.8.6/8.8.5) id PAA27825; Wed, 30 Jul 1997 15:02:36 +0200 (SAT) From: John Hay Message-Id: <199707301302.PAA27825@zibbi.mikom.csir.co.za> Subject: Re: SDL WANic & LCP problems In-Reply-To: from Stephen Roome at "Jul 30, 97 01:08:45 pm" To: steve@visint.co.uk (Stephen Roome) Date: Wed, 30 Jul 1997 15:02:36 +0200 (SAT) Cc: freebsd-isp@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-isp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > Hi, I've set up two SDL WANic's and they are attached to a 64k kilostream > line, I'm completely stumped now with some LCP errors... > > > sr1: lcp output > sr1: lcp input(C): 10 bytes > ... > > ---- > On the other end I have ... > ---- > > sr0: inet 194.207.135.9 --> 194.207.135.10 netmask 0xffffff00 > > same sort of network down problems but I get > illegal conf-req in state starting (some numbers). Is this with -current? Because -current sppp code is a bit broken for sync cards at the moment. Joerg changed the code to allow isdn cards to also work with it, but broke the sync cards in the process. I have a patch that will at least let the cards come up and work but as soon as it goes down it will stay down until a reboot. There is a problem in the state-machine because isdn cards have a real down state, while the sync cards don't really have that. I have been a bit busy with other things the last few weeks, so I haven't searched further. I'll attach the patch at the end. John -- John Hay -- John.Hay@mikom.csir.co.za --- if_spppsubr.c.org Tue May 27 21:23:05 1997 +++ if_spppsubr.c Sat Jun 7 17:08:44 1997 @@ -1224,12 +1224,12 @@ case STATE_ACK_SENT: break; case STATE_CLOSING: - (cp->tlf)(sp); sppp_cp_change_state(cp, sp, STATE_CLOSED); + (cp->tlf)(sp); break; case STATE_STOPPING: - (cp->tlf)(sp); sppp_cp_change_state(cp, sp, STATE_STOPPED); + (cp->tlf)(sp); break; case STATE_ACK_RCVD: sppp_cp_change_state(cp, sp, STATE_REQ_SENT); @@ -1389,13 +1389,13 @@ sppp_cp_change_state(cp, sp, STATE_INITIAL); break; case STATE_STOPPED: - (cp->tls)(sp); - /* fall through */ case STATE_STOPPING: case STATE_REQ_SENT: case STATE_ACK_RCVD: case STATE_ACK_SENT: sppp_cp_change_state(cp, sp, STATE_STARTING); + if (sp->state[cp->protoidx] == STATE_STOPPED) + (cp->tls)(sp); break; case STATE_OPENED: (cp->tld)(sp); @@ -1421,8 +1421,8 @@ switch (sp->state[cp->protoidx]) { case STATE_INITIAL: - (cp->tls)(sp); sppp_cp_change_state(cp, sp, STATE_STARTING); + (cp->tls)(sp); break; case STATE_STARTING: break; @@ -1461,8 +1461,8 @@ case STATE_CLOSING: break; case STATE_STARTING: - (cp->tlf)(sp); sppp_cp_change_state(cp, sp, STATE_INITIAL); + (cp->tlf)(sp); break; case STATE_STOPPED: sppp_cp_change_state(cp, sp, STATE_CLOSED); @@ -1500,18 +1500,18 @@ /* TO- event */ switch (sp->state[cp->protoidx]) { case STATE_CLOSING: - (cp->tlf)(sp); sppp_cp_change_state(cp, sp, STATE_CLOSED); + (cp->tlf)(sp); break; case STATE_STOPPING: - (cp->tlf)(sp); sppp_cp_change_state(cp, sp, STATE_STOPPED); + (cp->tlf)(sp); break; case STATE_REQ_SENT: case STATE_ACK_RCVD: case STATE_ACK_SENT: - (cp->tlf)(sp); sppp_cp_change_state(cp, sp, STATE_STOPPED); + (cp->tlf)(sp); break; } else