Date: Tue, 28 Jan 2003 10:25:57 +0200 From: Ari Suutari <ari.suutari@syncrontech.com> To: Gary Jennejohn <garyj@jennejohn.org>, joerg@FreeBSD.ORG Cc: "G Hasse" <gh@raditex.se>, freebsd-isdn@FreeBSD.ORG Subject: Re: Problem with "no bufferspace" - solution Message-ID: <200301281025.57413.ari.suutari@syncrontech.com> In-Reply-To: <200301241522.h0OFLwj1014253@peedub.jennejohn.org> References: <200301241522.h0OFLwj1014253@peedub.jennejohn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I think I have now understood this better. The PPP layer can be activated by two events, either by "up" or "open". When PPP is activated by incoming call "up" is used to signal that physical layer has become ready to transmit packets. In this case, "down" can be used to bring the layer down. However, if the PPP is activated by outgoing packet, an "open" event is used inside ppp to put LCP layer into starting state. In this case, "close" should be used to bring the LCP layer down. This is why the sppp complains about illegal state transition when i4b issues "down" after dialing has failed. I cannot think of any kind of simple solution to this, except when dialing fails issue first "up" and then immediately "down". I wonder how pppd and user ppp handle this (ie. modem dialing fails when using on-demand dialing) =09Ari S. On Friday 24 January 2003 17:21, Gary Jennejohn wrote: > > In that case my suggestion is incorrect. Your patch is the correct > way to do it. > > "Ari Suutari" writes: > > I did some reading on PPP RFC (1661). The correct way for > > physical layer to signal that it is no longer able to carry packet > > is to use Down event. So I think that my original code was correct= =2E > > The problem is in sppp layer, which works otherwise ok > > but prints out extraneous message. > > > > The PPP RFC doesn't say that it is legal to receive > > Down event when LCP is in starting state but says > > elsewhere that Down is the event to use by physical layer... > > I suppose. if_spppsubr.c is J=F6rg Wunsch's baby. We should ask him > his opinion. I'm pretty sure that he's subscribed to this list. > But I'll Cc: him. > > J=F6rg, any problem aith adding something like this to sppp_down_event? > (not a real diff) > > case STATE_CLOSING: > + case STATE_STARTING: > =09sppp_cp_change_state(cp, sp, STATE_INITIAL); > =09break; > > --- > Gary Jennejohn / garyj@jennejohn.org gj@freebsd.org gj@denx.de > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-isdn" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301281025.57413.ari.suutari>