mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 04:42:58 +00:00
Merge pull request #6048 from sarav511/joinsup
pimd: In join suppression period, join is being sent
This commit is contained in:
commit
75e43de7a6
@ -414,7 +414,8 @@ void pim_upstream_join_suppress(struct pim_upstream *up,
|
|||||||
struct in_addr rpf_addr, int holdtime)
|
struct in_addr rpf_addr, int holdtime)
|
||||||
{
|
{
|
||||||
long t_joinsuppress_msec;
|
long t_joinsuppress_msec;
|
||||||
long join_timer_remain_msec;
|
long join_timer_remain_msec = 0;
|
||||||
|
struct pim_neighbor *nbr = NULL;
|
||||||
|
|
||||||
if (!up->rpf.source_nexthop.interface) {
|
if (!up->rpf.source_nexthop.interface) {
|
||||||
if (PIM_DEBUG_PIM_TRACE)
|
if (PIM_DEBUG_PIM_TRACE)
|
||||||
@ -427,7 +428,18 @@ void pim_upstream_join_suppress(struct pim_upstream *up,
|
|||||||
MIN(pim_if_t_suppressed_msec(up->rpf.source_nexthop.interface),
|
MIN(pim_if_t_suppressed_msec(up->rpf.source_nexthop.interface),
|
||||||
1000 * holdtime);
|
1000 * holdtime);
|
||||||
|
|
||||||
join_timer_remain_msec = pim_time_timer_remain_msec(up->t_join_timer);
|
if (up->t_join_timer)
|
||||||
|
join_timer_remain_msec =
|
||||||
|
pim_time_timer_remain_msec(up->t_join_timer);
|
||||||
|
else {
|
||||||
|
/* Remove it from jp agg from the nbr for suppression */
|
||||||
|
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
|
||||||
|
up->rpf.rpf_addr.u.prefix4);
|
||||||
|
if (nbr) {
|
||||||
|
join_timer_remain_msec =
|
||||||
|
pim_time_timer_remain_msec(nbr->jp_timer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (PIM_DEBUG_PIM_TRACE) {
|
if (PIM_DEBUG_PIM_TRACE) {
|
||||||
char rpf_str[INET_ADDRSTRLEN];
|
char rpf_str[INET_ADDRSTRLEN];
|
||||||
@ -446,6 +458,9 @@ void pim_upstream_join_suppress(struct pim_upstream *up,
|
|||||||
t_joinsuppress_msec);
|
t_joinsuppress_msec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (nbr)
|
||||||
|
pim_jp_agg_remove_group(nbr->upstream_jp_agg, up, nbr);
|
||||||
|
|
||||||
pim_upstream_join_timer_restart_msec(up, t_joinsuppress_msec);
|
pim_upstream_join_timer_restart_msec(up, t_joinsuppress_msec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user