]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Convert qpim_t_periodic into the `struct pim_router` structure
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 20 Dec 2018 15:45:33 +0000 (10:45 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 4 Jan 2019 17:23:39 +0000 (12:23 -0500)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_cmd.c
pimd/pim_iface.c
pimd/pim_instance.h
pimd/pim_neighbor.c
pimd/pim_upstream.c
pimd/pim_vty.c
pimd/pimd.c
pimd/pimd.h

index 26932eea203e6e4f0e53d888d6938420a3452de2..2d69d4155a16799c2e44bad609c31ae31a95c278 100644 (file)
@@ -4428,7 +4428,7 @@ static void pim_cmd_show_ip_multicast_helper(struct pim_instance *pim,
        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",
@@ -5229,7 +5229,7 @@ DEFUN (ip_pim_joinprune_time,
        "Seconds\n")
 {
        PIM_DECLVAR_CONTEXT(vrf, pim);
-       qpim_t_periodic = atoi(argv[3]->arg);
+       router->t_periodic = atoi(argv[3]->arg);
        return CMD_SUCCESS;
 }
 
@@ -5243,7 +5243,7 @@ DEFUN (no_ip_pim_joinprune_time,
        "Seconds\n")
 {
        PIM_DECLVAR_CONTEXT(vrf, pim);
-       qpim_t_periodic = PIM_DEFAULT_T_PERIODIC;
+       router->t_periodic = PIM_DEFAULT_T_PERIODIC;
        return CMD_SUCCESS;
 }
 
index 1ad71823b89c27808bd97627a2dcf267f92e8c37..0451ab1e71695e103561fe7c72c91dfceaeeae28 100644 (file)
@@ -1157,7 +1157,7 @@ long pim_if_t_suppressed_msec(struct interface *ifp)
 
        /* 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;
 }
index 5ff83e65ea84c33325bfd84af27a64f8ad84e837..ed8ecdcaa727675d29982b32a67d4dee30a1a1e3 100644 (file)
@@ -46,6 +46,8 @@ struct pim_router {
        struct thread_master *master;
 
        uint32_t debugs;
+
+       int t_periodic;
 };
 
 /* Per VRF PIM DB */
index 4f06daf312a9289af66d806e0fe69d48fd8b771f..436f2dec277e723e1fc748546289e61c688b7789 100644 (file)
@@ -278,7 +278,7 @@ static int on_neighbor_jp_timer(struct thread *t)
        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;
 }
@@ -287,7 +287,7 @@ static void pim_neighbor_start_jp_timer(struct pim_neighbor *neigh)
 {
        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 *
index 59a7e27cf2066f3ce8020f2f9ef805d08fee0d3e..8cb6c0c17486f1ade0bc25acba81d3743bb6cbc2 100644 (file)
@@ -308,7 +308,7 @@ void join_timer_start(struct pim_upstream *up)
                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);
                }
        }
@@ -318,7 +318,7 @@ void join_timer_start(struct pim_upstream *up)
        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);
 }
index a4aec710e9a6cb2e461c741bc7e0504ea96cf41d..6c837e2a3f8cb2a61a6682f32dafa3e3e4a4784f 100644 (file)
@@ -178,9 +178,9 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
                        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) {
index 461ce1ba5a2567c97e665425de374d61ae1082f5..33aac5a264409c5400d2753d0ae963df34b3cb71 100644 (file)
@@ -51,8 +51,6 @@ DEFINE_MTYPE_STATIC(PIMD, ROUTER, "PIM Router information");
 
 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;
@@ -90,6 +88,7 @@ void pim_router_init(void)
 
        router->debugs = 0;
        router->master = frr_init();
+       router->t_periodic = PIM_DEFAULT_T_PERIODIC;
 }
 
 void pim_router_terminate(void)
index dabb42ea8d806972170cb6d701608435734a31a7..84d3b4021a34f1789539bfdc3d8518d8b0c006ba 100644 (file)
@@ -135,7 +135,6 @@ const char *const PIM_ALL_IGMP_ROUTERS;
 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;
@@ -144,7 +143,7 @@ extern uint8_t qpim_ecmp_rebalance_enable;
 
 #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))