]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: move MSDP configuration and initialization
authorRafael Zalamena <rzalamena@opensourcerouting.org>
Wed, 11 Dec 2024 14:49:46 +0000 (11:49 -0300)
committerRafael Zalamena <rzalamena@opensourcerouting.org>
Wed, 11 Dec 2024 14:58:25 +0000 (11:58 -0300)
Reorganize the MSDP initialization code and configuration writing code
to its appropriated place.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
pimd/pim_instance.c
pimd/pim_msdp.c
pimd/pim_vty.c

index 4e4e5a6ce8f9c420678d98cd438d7792d7ffad7c..9a76b5c92496bc6e40bf99ca83a4453e6d922003 100644 (file)
@@ -126,11 +126,6 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf)
        if (pim->reg_sock < 0)
                assert(0);
 
-       /* MSDP global timer defaults. */
-       pim->msdp.hold_time = PIM_MSDP_PEER_HOLD_TIME;
-       pim->msdp.keep_alive = PIM_MSDP_PEER_KA_TIME;
-       pim->msdp.connection_retry = PIM_MSDP_PEER_CONNECT_RETRY_TIME;
-
 #if PIM_IPV == 4
        pim_autorp_init(pim);
 #endif
index bd86ca502d50b7cbf0559b2d1dff16e3273189d2..1a1e1b723707c665762743a00bc9dcae18c1dddf 100644 (file)
@@ -1272,10 +1272,21 @@ int pim_msdp_config_write(struct pim_instance *pim, struct vty *vty)
        char src_str[INET_ADDRSTRLEN];
        int count = 0;
 
+       if (pim->msdp.hold_time != PIM_MSDP_PEER_HOLD_TIME ||
+           pim->msdp.keep_alive != PIM_MSDP_PEER_KA_TIME ||
+           pim->msdp.connection_retry != PIM_MSDP_PEER_CONNECT_RETRY_TIME) {
+               vty_out(vty, " msdp timers %u %u", pim->msdp.hold_time, pim->msdp.keep_alive);
+               if (pim->msdp.connection_retry != PIM_MSDP_PEER_CONNECT_RETRY_TIME)
+                       vty_out(vty, " %u", pim->msdp.connection_retry);
+               vty_out(vty, "\n");
+       }
+
        if (pim_msdp_log_neighbor_events(pim))
                vty_out(vty, " msdp log neighbor-events\n");
        if (pim_msdp_log_sa_events(pim))
                vty_out(vty, " msdp log sa-events\n");
+       if (pim->msdp.shutdown)
+               vty_out(vty, " msdp shutdown\n");
 
        if (SLIST_EMPTY(&pim->msdp.mglist))
                return count;
@@ -1331,9 +1342,6 @@ bool pim_msdp_peer_config_write(struct vty *vty, struct pim_instance *pim)
                written = true;
        }
 
-       if (pim->msdp.shutdown)
-               vty_out(vty, " msdp shutdown\n");
-
        return written;
 }
 
@@ -1373,6 +1381,11 @@ void pim_msdp_init(struct pim_instance *pim, struct event_loop *master)
        pim->msdp.sa_list = list_new();
        pim->msdp.sa_list->del = (void (*)(void *))pim_msdp_sa_free;
        pim->msdp.sa_list->cmp = (int (*)(void *, void *))pim_msdp_sa_comp;
+
+       /* MSDP global timer defaults. */
+       pim->msdp.hold_time = PIM_MSDP_PEER_HOLD_TIME;
+       pim->msdp.keep_alive = PIM_MSDP_PEER_KA_TIME;
+       pim->msdp.connection_retry = PIM_MSDP_PEER_CONNECT_RETRY_TIME;
 }
 
 /* counterpart to MSDP init; XXX: unused currently */
index 4c3762b2edfa363dbc7a947e9059385385609ad9..fc9781b239c5645217accc43b6809d81e5f0aa3a 100644 (file)
@@ -180,8 +180,10 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
        int writes = 0;
        struct pim_ssm *ssm = pim->ssm_info;
 
+#if PIM_IPV == 4
        writes += pim_msdp_peer_config_write(vty, pim);
        writes += pim_msdp_config_write(pim, vty);
+#endif /* PIM_IPV == 4 */
 
        if (!pim->send_v6_secondary) {
                vty_out(vty, " no send-v6-secondary\n");
@@ -273,17 +275,6 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
                }
        }
 
-       if (pim->msdp.hold_time != PIM_MSDP_PEER_HOLD_TIME
-           || pim->msdp.keep_alive != PIM_MSDP_PEER_KA_TIME
-           || pim->msdp.connection_retry != PIM_MSDP_PEER_CONNECT_RETRY_TIME) {
-               vty_out(vty, " msdp timers %u %u", pim->msdp.hold_time,
-                       pim->msdp.keep_alive);
-               if (pim->msdp.connection_retry
-                   != PIM_MSDP_PEER_CONNECT_RETRY_TIME)
-                       vty_out(vty, " %u", pim->msdp.connection_retry);
-               vty_out(vty, "\n");
-       }
-
        return writes;
 }