summaryrefslogtreecommitdiff
path: root/babeld
diff options
context:
space:
mode:
authorMatthieu Boutier <boutier@pps.jussieu.fr>2012-01-28 10:35:12 +0100
committerPaul Jakma <paul@quagga.net>2012-03-25 17:06:53 +0100
commit69394543597a0fd8c161c5c8a0d25c8b1cfa8a93 (patch)
tree9e13b75ac01d607d4006db15fd14db811b9310e0 /babeld
parent210f6f66287c40f247c1a4ff983aae85b9e42e2c (diff)
babeld: state-file was loaded too early. Initial seqno too.
Diffstat (limited to 'babeld')
-rw-r--r--babeld/babel_main.c6
-rw-r--r--babeld/babel_main.h1
-rw-r--r--babeld/babeld.c2
3 files changed, 4 insertions, 5 deletions
diff --git a/babeld/babel_main.c b/babeld/babel_main.c
index c039c880..951da7d1 100644
--- a/babeld/babel_main.c
+++ b/babeld/babel_main.c
@@ -68,7 +68,6 @@ static char *babel_get_progname(char *argv_0);
static void babel_fail(void);
static void babel_init_random(void);
static void babel_replace_by_null(int fd);
-static void babel_load_state_file(void);
static void babel_init_signals(void);
static void babel_exit_properly(void);
static void babel_save_state_file(void);
@@ -304,9 +303,6 @@ babel_init(int argc, char **argv)
zlog_set_level (NULL, ZLOG_DEST_STDOUT, ZLOG_DISABLED);
vty_read_config (babel_config_file, babel_config_default);
- myseqno = (random() & 0xFFFF);
- babel_load_state_file();
-
/* Create VTY socket */
vty_serv_sock (babel_vty_addr, babel_vty_port, BABEL_VTYSH_PATH);
@@ -380,7 +376,7 @@ babel_replace_by_null(int fd)
Load the state file: check last babeld's running state, usefull in case of
"/etc/init.d/babeld restart"
*/
-static void
+void
babel_load_state_file(void)
{
time_t reboot_time;
diff --git a/babeld/babel_main.h b/babeld/babel_main.h
index fb22c58e..2afebc9e 100644
--- a/babeld/babel_main.h
+++ b/babeld/babel_main.h
@@ -54,4 +54,5 @@ extern int protocol_socket;
extern int kernel_socket;
extern int max_request_hopcount;
+void babel_load_state_file(void);
void show_babel_main_configuration (struct vty *vty);
diff --git a/babeld/babeld.c b/babeld/babeld.c
index d69662c0..33b5d9e1 100644
--- a/babeld/babeld.c
+++ b/babeld/babeld.c
@@ -173,7 +173,9 @@ babel_read_protocol (struct thread *thread)
static int
babel_init_routing_process(struct thread *thread)
{
+ myseqno = (random() & 0xFFFF);
babel_get_myid();
+ babel_load_state_file();
debugf(BABEL_DEBUG_COMMON, "My ID is : %s.", format_eui64(myid));
babel_initial_noise();
babel_main_loop(thread);/* this function self-add to the t_update thread */