diff options
author | Steven Barth <steven@midlink.org> | 2013-11-11 15:34:05 +0100 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2013-11-11 15:34:05 +0100 |
commit | be05c0ded0257cbb82857f6d01226ef6de28befe (patch) | |
tree | 221626400f0065c2c485bf061e0954e25e598756 /src/odhcp6c.c | |
parent | 0131c7ed248d8a39480afd455de800c242ae5350 (diff) | |
download | odhcp6c-be05c0ded0257cbb82857f6d01226ef6de28befe.tar.gz |
Finalizing bfd work
Diffstat (limited to 'src/odhcp6c.c')
-rw-r--r-- | src/odhcp6c.c | 18 |
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" |