summaryrefslogtreecommitdiff
path: root/ripd/ripd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ripd/ripd.c')
-rw-r--r--ripd/ripd.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/ripd/ripd.c b/ripd/ripd.c
index f092da847d..30d2a59d77 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -44,6 +44,7 @@
#include "privs.h"
#include "lib_errors.h"
#include "northbound_cli.h"
+#include "network.h"
#include "ripd/ripd.h"
#include "ripd/rip_nb.h"
@@ -2647,7 +2648,7 @@ static int rip_triggered_update(struct thread *t)
random interval between 1 and 5 seconds. If other changes that
would trigger updates occur before the timer expires, a single
update is triggered when the timer expires. */
- interval = (random() % 5) + 1;
+ interval = (frr_weak_random() % 5) + 1;
rip->t_triggered_interval = NULL;
thread_add_timer(master, rip_triggered_interval, rip, interval,
@@ -2844,7 +2845,8 @@ static int rip_update_jitter(unsigned long time)
if (jitter_input < JITTER_BOUND)
jitter_input = JITTER_BOUND;
- jitter = (((random() % ((jitter_input * 2) + 1)) - jitter_input));
+ jitter = (((frr_weak_random() % ((jitter_input * 2) + 1))
+ - jitter_input));
return jitter / JITTER_BOUND;
}
@@ -3327,8 +3329,15 @@ static int config_write_rip(struct vty *vty)
return write;
}
+static int config_write_rip(struct vty *vty);
/* RIP node structure. */
-static struct cmd_node rip_node = {RIP_NODE, "%s(config-router)# ", 1};
+static struct cmd_node rip_node = {
+ .name = "rip",
+ .node = RIP_NODE,
+ .parent_node = CONFIG_NODE,
+ .prompt = "%s(config-router)# ",
+ .config_write = config_write_rip,
+};
/* Distribute-list update functions. */
static void rip_distribute_update(struct distribute_ctx *ctx,
@@ -3731,7 +3740,7 @@ void rip_vrf_terminate(void)
void rip_init(void)
{
/* Install top nodes. */
- install_node(&rip_node, config_write_rip);
+ install_node(&rip_node);
/* Install rip commands. */
install_element(VIEW_NODE, &show_ip_rip_cmd);