summaryrefslogtreecommitdiff
path: root/src/odhcp6c.c
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2013-11-11 15:34:05 +0100
committerSteven Barth <steven@midlink.org>2013-11-11 15:34:05 +0100
commitbe05c0ded0257cbb82857f6d01226ef6de28befe (patch)
tree221626400f0065c2c485bf061e0954e25e598756 /src/odhcp6c.c
parent0131c7ed248d8a39480afd455de800c242ae5350 (diff)
downloadodhcp6c-be05c0ded0257cbb82857f6d01226ef6de28befe.tar.gz
Finalizing bfd work
Diffstat (limited to 'src/odhcp6c.c')
-rw-r--r--src/odhcp6c.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/odhcp6c.c b/src/odhcp6c.c
index 2c5bfad..de03b81 100644
--- a/src/odhcp6c.c
+++ b/src/odhcp6c.c
@@ -63,10 +63,14 @@ int main(_unused int argc, char* const argv[])
static struct in6_addr ifid = IN6ADDR_ANY_INIT;
int sol_timeout = 120;
+#ifdef EXT_BFD_PING
+ int bfd_interval = 0, bfd_loss = 3;
+#endif
+
bool help = false, daemonize = false;
int logopt = LOG_PID;
int c, request_pd = 0;
- while ((c = getopt(argc, argv, "S::N:P:Fc:i:r:s:kt:hedp:")) != -1) {
+ while ((c = getopt(argc, argv, "S::N:P:FB:c:i:r:s:kt:hedp:")) != -1) {
switch (c) {
case 'S':
allow_slaac_only = (optarg) ? atoi(optarg) : -1;
@@ -100,6 +104,12 @@ int main(_unused int argc, char* const argv[])
ia_pd_mode = IA_MODE_FORCE;
break;
+#ifdef EXT_BFD_PING
+ case 'B':
+ bfd_interval = atoi(optarg);
+ break;
+#endif
+
case 'c':
l = script_unhexlify(&buf[4], sizeof(buf) - 4, optarg);
if (l > 0) {
@@ -267,7 +277,8 @@ int main(_unused int argc, char* const argv[])
bound = true;
syslog(LOG_NOTICE, "entering stateful-mode on %s", ifname);
#ifdef EXT_BFD_PING
- bfd_start(ifname, 3, 10);
+ if (bfd_interval > 0)
+ bfd_start(ifname, bfd_loss, bfd_interval);
#endif
while (do_signal == 0 || do_signal == SIGUSR1) {
@@ -353,6 +364,9 @@ static int usage(void)
" -N <mode> Mode for requesting addresses [try|force|none]\n"
" -P <length> Request IPv6-Prefix (0 = auto)\n"
" -F Force IPv6-Prefix\n"
+#ifdef EXT_BFD_PING
+ " -B <interval> Enable BFD ping check\n"
+#endif
" -c <clientid> Override client-ID (base-16 encoded)\n"
" -i <iface-id> Use a custom interface identifier for RA handling\n"
" -r <options> Options to be requested (comma-separated)\n"