aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>1998-08-01 01:02:41 +0000
committerBrian Somers <brian@FreeBSD.org>1998-08-01 01:02:41 +0000
commit68a0e17122e69972133e25db6d01c511da7e651d (patch)
treefc90911f323c827c238d799b65167f5cda79e5cf /usr.sbin
parentcff2b1c9b46f5cac66759329223c2e04e451ef50 (diff)
downloadsrc-68a0e17122e69972133e25db6d01c511da7e651d.tar.gz
src-68a0e17122e69972133e25db6d01c511da7e651d.zip
When we receive an LCP config REQ in Opened state,
do TLD *before* processing the config request as TLD initialises the peers LCP values. It's strange that an IRC isn't required here - but I'll bow to the wisdom of the rfc.
Notes
Notes: svn path=/head/; revision=37995
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ppp/fsm.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/usr.sbin/ppp/fsm.c b/usr.sbin/ppp/fsm.c
index 4888e090712a..dc5913fea4ed 100644
--- a/usr.sbin/ppp/fsm.c
+++ b/usr.sbin/ppp/fsm.c
@@ -17,7 +17,7 @@
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * $Id: fsm.c,v 1.34 1998/06/27 23:48:43 brian Exp $
+ * $Id: fsm.c,v 1.35 1998/06/30 23:04:15 brian Exp $
*
* TODO:
*/
@@ -488,6 +488,10 @@ FsmRecvConfigReq(struct fsm *fp, struct fsmheader *lhp, struct mbuf *bp)
case ST_STOPPING:
mbuf_Free(bp);
return;
+ case ST_OPENED:
+ (*fp->fn->LayerDown)(fp);
+ (*fp->parent->LayerDown)(fp->parent->object, fp);
+ break;
}
dec.ackend = dec.ack;
@@ -501,13 +505,11 @@ FsmRecvConfigReq(struct fsm *fp, struct fsmheader *lhp, struct mbuf *bp)
ackaction = 1;
switch (fp->state) {
- case ST_OPENED:
- (*fp->fn->LayerDown)(fp);
- FsmSendConfigReq(fp);
- (*fp->parent->LayerDown)(fp->parent->object, fp);
- break;
case ST_STOPPED:
FsmInitRestartCounter(fp);
+ /* Fall through */
+
+ case ST_OPENED:
FsmSendConfigReq(fp);
break;
}