summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2024-12-11 11:49:46 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2024-12-11 11:58:25 -0300
commit6d759deea14e683ebefa24c06edd157ca9799521 (patch)
treed25ca8eb119f2de393f98dff3e8912bef6741ad9
parent74623166d42001954e9c0998b5f4ee3341144d5d (diff)
pimd: move MSDP configuration and initialization
Reorganize the MSDP initialization code and configuration writing code to its appropriated place. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
-rw-r--r--pimd/pim_instance.c5
-rw-r--r--pimd/pim_msdp.c19
-rw-r--r--pimd/pim_vty.c13
3 files changed, 18 insertions, 19 deletions
diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c
index 4e4e5a6ce8..9a76b5c924 100644
--- a/pimd/pim_instance.c
+++ b/pimd/pim_instance.c
@@ -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
diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c
index bd86ca502d..1a1e1b7237 100644
--- a/pimd/pim_msdp.c
+++ b/pimd/pim_msdp.c
@@ -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 */
diff --git a/pimd/pim_vty.c b/pimd/pim_vty.c
index 4c3762b2ed..fc9781b239 100644
--- a/pimd/pim_vty.c
+++ b/pimd/pim_vty.c
@@ -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;
}