Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 1997 15:02:36 +0200 (SAT)
From:      John Hay <jhay@mikom.csir.co.za>
To:        steve@visint.co.uk (Stephen Roome)
Cc:        freebsd-isp@FreeBSD.ORG
Subject:   Re: SDL WANic & LCP problems
Message-ID:  <199707301302.PAA27825@zibbi.mikom.csir.co.za>
In-Reply-To: <Pine.BSF.3.95.970730125625.9021I-100000@dylan.visint.co.uk> from Stephen Roome at "Jul 30, 97 01:08:45 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> 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...
> 
> <excerpt from /var/log/messages at this end>
> sr1: lcp output <conf-req id=ah len=ah 5-6-33-ec-13-93>
> sr1: lcp input(C): 10 bytes <conf-ack id=ah len=ah 5-6-33-ec-13-93>
> 
...
> 
> ----
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707301302.PAA27825>