summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>2001-12-27 21:20:33 +0000
committerjoerg <joerg@FreeBSD.org>2001-12-27 21:20:33 +0000
commit72844dd1064711193bc59cad41b046e453a24749 (patch)
tree50f23cc1feb7d0f68e0eba4ebb9c71061bc5cd2a /sbin
parentc3e53c63c1bc50f3dba08cc9a313b56f7092b0da (diff)
downloadFreeBSD-src-72844dd1064711193bc59cad41b046e453a24749.zip
FreeBSD-src-72844dd1064711193bc59cad41b046e453a24749.tar.gz
Userland part of making the LCP restart timer configurable.
Obtained from: i4b (with changes)
Diffstat (limited to 'sbin')
-rw-r--r--sbin/spppcontrol/spppcontrol.85
-rw-r--r--sbin/spppcontrol/spppcontrol.c20
2 files changed, 23 insertions, 2 deletions
diff --git a/sbin/spppcontrol/spppcontrol.8 b/sbin/spppcontrol/spppcontrol.8
index 8db48bc..ca227c9 100644
--- a/sbin/spppcontrol/spppcontrol.8
+++ b/sbin/spppcontrol/spppcontrol.8
@@ -164,6 +164,10 @@ through approximately 800 seconds.) This is the default, and will not
be explicitly displayed in
.Ql list
mode.
+.It Ar lcp-timeout Ns \&= Ns Em timeout-value
+Allows to change the value of the LCP restart timer. Values are
+specified in milliseconds. The value must be between 10 and 20000 ms,
+defaulting to 3000 ms.
.It Ar enable-vj
Enable negotiation of Van Jacobsen header compression. (Enabled by default.)
.It Ar disable-vj
@@ -175,6 +179,7 @@ Disable negotiation of Van Jacobsen header compression.
bppp0: phase=dead
myauthproto=chap myauthname="uriah"
hisauthproto=chap hisauthname="ifb-gw" norechallenge
+ lcp-timeout=3000
enable-vj
.Ed
.Pp
diff --git a/sbin/spppcontrol/spppcontrol.c b/sbin/spppcontrol/spppcontrol.c
index e1ddfff..111ac0d 100644
--- a/sbin/spppcontrol/spppcontrol.c
+++ b/sbin/spppcontrol/spppcontrol.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997 Joerg Wunsch
+ * Copyright (c) 1997, 2001 Joerg Wunsch
*
* All rights reserved.
*
@@ -65,6 +65,8 @@ main(int argc, char **argv)
int s, c;
int errs = 0, verbose = 0;
size_t off;
+ long to;
+ char *endp;
const char *ifname, *cp;
struct ifreq ifr;
struct spppreq spr;
@@ -165,7 +167,20 @@ main(int argc, char **argv)
spr.defs.hisauth.flags |= AUTHFLAG_NORECHALLENGE;
else if (strcmp(argv[0], "rechallenge") == 0)
spr.defs.hisauth.flags &= ~AUTHFLAG_NORECHALLENGE;
- else if (strcmp(argv[0], "enable-vj") == 0)
+ else if (startswith("lcp-timeout=")) {
+ cp = argv[0] + off;
+ to = strtol(cp, &endp, 10);
+ if (*cp == '\0' || *endp != '\0' ||
+ /*
+ * NB: 10 ms is the minimal possible value for
+ * hz=100. We assume no kernel has less clock
+ * frequency than that...
+ */
+ to < 10 || to > 20000)
+ errx(EX_DATAERR, "bad lcp timeout value: %s",
+ cp);
+ spr.defs.lcp.timeout = to;
+ } else if (strcmp(argv[0], "enable-vj") == 0)
spr.defs.enable_vj = 1;
else if (strcmp(argv[0], "disable-vj") == 0)
spr.defs.enable_vj = 0;
@@ -211,6 +226,7 @@ print_vals(const char *ifname, struct spppreq *sp)
AUTHNAMELEN, sp->defs.hisauth.name,
authflags(sp->defs.hisauth.flags));
}
+ printf("\tlcp-timeout=%d ms\n", sp->defs.lcp.timeout);
printf("\t%sable-vj\n", sp->defs.enable_vj? "en": "dis");
}
OpenPOWER on IntegriCloud