summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/fsm.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1998-06-25 22:33:31 +0000
committerbrian <brian@FreeBSD.org>1998-06-25 22:33:31 +0000
commit1e23d0e92ca74f12045a6edbe3af1659468b1133 (patch)
tree3d61fb0aefd12cb54f86a51a4915c119627010a2 /usr.sbin/ppp/fsm.c
parentc957b12bc95bfb0a1df6e5625df47e96bdf7df94 (diff)
downloadFreeBSD-src-1e23d0e92ca74f12045a6edbe3af1659468b1133.zip
FreeBSD-src-1e23d0e92ca74f12045a6edbe3af1659468b1133.tar.gz
Add ``ipcp'' as an optional argument to ``open'', and make
open capable of re-negotiatiating the various layers. It is now possible to change various link options and then re-open the relevant layer, making the changes effective - for example, switching off VJ compression or starting ECHO LQRs on-the-fly.
Diffstat (limited to 'usr.sbin/ppp/fsm.c')
-rw-r--r--usr.sbin/ppp/fsm.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/usr.sbin/ppp/fsm.c b/usr.sbin/ppp/fsm.c
index 4174650..0ca6065 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.31 1998/06/20 00:19:36 brian Exp $
+ * $Id: fsm.c,v 1.32 1998/06/20 01:55:28 brian Exp $
*
* TODO:
*/
@@ -959,6 +959,18 @@ fsm_NullRecvResetAck(struct fsm *fp, u_char id)
}
void
+fsm_Reopen(struct fsm *fp)
+{
+ if (fp->state == ST_OPENED) {
+ (*fp->fn->LayerDown)(fp);
+ FsmInitRestartCounter(fp);
+ FsmSendConfigReq(fp);
+ NewState(fp, ST_REQSENT);
+ (*fp->parent->LayerDown)(fp->parent->object, fp);
+ }
+}
+
+void
fsm2initial(struct fsm *fp)
{
if (fp->state == ST_STOPPED)
OpenPOWER on IntegriCloud