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>
This commit is contained in:
Rafael Zalamena 2024-12-11 11:49:46 -03:00
parent 74623166d4
commit 6d759deea1
3 changed files with 18 additions and 19 deletions

View 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

View 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 */

View 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;
}