From 6d759deea14e683ebefa24c06edd157ca9799521 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Wed, 11 Dec 2024 11:49:46 -0300 Subject: [PATCH] pimd: move MSDP configuration and initialization Reorganize the MSDP initialization code and configuration writing code to its appropriated place. Signed-off-by: Rafael Zalamena --- pimd/pim_instance.c | 5 ----- pimd/pim_msdp.c | 19 ++++++++++++++++--- pimd/pim_vty.c | 13 ++----------- 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; } -- 2.39.5