vty_out(vty, "Maximum highest VifIndex: %d\n", PIM_MAX_USABLE_VIFS);
vty_out(vty, "\n");
- vty_out(vty, "Upstream Join Timer: %d secs\n", qpim_t_periodic);
+ vty_out(vty, "Upstream Join Timer: %d secs\n", router->t_periodic);
vty_out(vty, "Join/Prune Holdtime: %d secs\n", PIM_JP_HOLDTIME);
vty_out(vty, "PIM ECMP: %s\n", pim->ecmp_enable ? "Enable" : "Disable");
vty_out(vty, "PIM ECMP Rebalance: %s\n",
"Seconds\n")
{
PIM_DECLVAR_CONTEXT(vrf, pim);
- qpim_t_periodic = atoi(argv[3]->arg);
+ router->t_periodic = atoi(argv[3]->arg);
return CMD_SUCCESS;
}
"Seconds\n")
{
PIM_DECLVAR_CONTEXT(vrf, pim);
- qpim_t_periodic = PIM_DEFAULT_T_PERIODIC;
+ router->t_periodic = PIM_DEFAULT_T_PERIODIC;
return CMD_SUCCESS;
}
/* t_suppressed = t_periodic * rand(1.1, 1.4) */
ramount = 1100 + (random() % (1400 - 1100 + 1));
- t_suppressed_msec = qpim_t_periodic * ramount;
+ t_suppressed_msec = router->t_periodic * ramount;
return t_suppressed_msec;
}
struct thread_master *master;
uint32_t debugs;
+
+ int t_periodic;
};
/* Per VRF PIM DB */
pim_joinprune_send(&rpf, neigh->upstream_jp_agg);
thread_add_timer(router->master, on_neighbor_jp_timer, neigh,
- qpim_t_periodic, &neigh->jp_timer);
+ router->t_periodic, &neigh->jp_timer);
return 0;
}
{
THREAD_TIMER_OFF(neigh->jp_timer);
thread_add_timer(router->master, on_neighbor_jp_timer, neigh,
- qpim_t_periodic, &neigh->jp_timer);
+ router->t_periodic, &neigh->jp_timer);
}
static struct pim_neighbor *
if (PIM_DEBUG_PIM_EVENTS) {
zlog_debug(
"%s: starting %d sec timer for upstream (S,G)=%s",
- __PRETTY_FUNCTION__, qpim_t_periodic,
+ __PRETTY_FUNCTION__, router->t_periodic,
up->sg_str);
}
}
else {
THREAD_OFF(up->t_join_timer);
thread_add_timer(router->master, on_join_timer, up,
- qpim_t_periodic, &up->t_join_timer);
+ router->t_periodic, &up->t_join_timer);
}
pim_jp_agg_upstream_verification(up, true);
}
qpim_register_suppress_time);
++writes;
}
- if (qpim_t_periodic != PIM_DEFAULT_T_PERIODIC) {
+ if (router->t_periodic != PIM_DEFAULT_T_PERIODIC) {
vty_out(vty, "%sip pim join-prune-interval %d\n", spaces,
- qpim_t_periodic);
+ router->t_periodic);
++writes;
}
if (pim->keep_alive_time != PIM_KEEPALIVE_PERIOD) {
struct pim_router *router = NULL;
-int qpim_t_periodic =
- PIM_DEFAULT_T_PERIODIC; /* Period between Join/Prune Messages */
struct pim_assert_metric qpim_infinite_assert_metric;
long qpim_rpf_cache_refresh_delay_msec = 50;
int qpim_packet_process = PIM_DEFAULT_PACKET_PROCESS;
router->debugs = 0;
router->master = frr_init();
+ router->t_periodic = PIM_DEFAULT_T_PERIODIC;
}
void pim_router_terminate(void)
extern struct pim_router *router;
extern struct zebra_privs_t pimd_privs;
struct in_addr qpim_all_pim_routers_addr;
-int qpim_t_periodic; /* Period between Join/Prune Messages */
struct pim_assert_metric qpim_infinite_assert_metric;
long qpim_rpf_cache_refresh_delay_msec;
extern int qpim_packet_process;
#define PIM_DEFAULT_PACKET_PROCESS 3
-#define PIM_JP_HOLDTIME (qpim_t_periodic * 7 / 2)
+#define PIM_JP_HOLDTIME (router->t_periodic * 7 / 2)
/*
* Register-Stop Timer (RST(S,G))