diff options
| author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2024-12-11 11:49:46 -0300 | 
|---|---|---|
| committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2024-12-11 11:58:25 -0300 | 
| commit | 6d759deea14e683ebefa24c06edd157ca9799521 (patch) | |
| tree | d25ca8eb119f2de393f98dff3e8912bef6741ad9 | |
| parent | 74623166d42001954e9c0998b5f4ee3341144d5d (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.c | 5 | ||||
| -rw-r--r-- | pimd/pim_msdp.c | 19 | ||||
| -rw-r--r-- | 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;  }  | 
