diff options
author | Steven Barth <steven@midlink.org> | 2013-11-06 13:04:53 +0100 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2013-11-06 13:04:53 +0100 |
commit | 0131c7ed248d8a39480afd455de800c242ae5350 (patch) | |
tree | 43b44200ccd4cd1e120ec74bcf6eec481b465a68 /src/odhcp6c.c | |
parent | c792b89ce22cca9b6eca3dc9156bdccb1ea46653 (diff) | |
download | odhcp6c-0131c7ed248d8a39480afd455de800c242ae5350.tar.gz |
Fix bfd ping
Diffstat (limited to 'src/odhcp6c.c')
-rw-r--r-- | src/odhcp6c.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/odhcp6c.c b/src/odhcp6c.c index 1f75c50..2c5bfad 100644 --- a/src/odhcp6c.c +++ b/src/odhcp6c.c @@ -32,6 +32,10 @@ #include "odhcp6c.h" #include "ra.h" +#ifdef EXT_BFD_PING +#include "bfd.h" +#endif + static void sighandler(int signal); static int usage(void); @@ -262,6 +266,9 @@ int main(_unused int argc, char* const argv[]) script_call("bound"); bound = true; syslog(LOG_NOTICE, "entering stateful-mode on %s", ifname); +#ifdef EXT_BFD_PING + bfd_start(ifname, 3, 10); +#endif while (do_signal == 0 || do_signal == SIGUSR1) { // Renew Cycle @@ -311,6 +318,10 @@ int main(_unused int argc, char* const argv[]) script_call("rebound"); } +#ifdef EXT_BFD_PING + bfd_stop(); +#endif + size_t ia_pd_len, ia_na_len, server_id_len; odhcp6c_get_state(STATE_IA_PD, &ia_pd_len); @@ -398,6 +409,10 @@ bool odhcp6c_signal_process(void) script_call("ra-updated"); // Immediate process urgent events else if (ra_updated && !bound && allow_slaac_only > 0) script_delay_call("ra-updated", allow_slaac_only); + +#ifdef EXT_BFD_PING + bfd_receive(); +#endif } return do_signal != 0; |