diff options
Diffstat (limited to 'pimd/pim_upstream.c')
| -rw-r--r-- | pimd/pim_upstream.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index 4d0a63b915..411e767645 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -190,6 +190,11 @@ struct pim_upstream *pim_upstream_del(struct pim_instance *pim, if (up->ref_count >= 1) return up; + if (PIM_DEBUG_TRACE) + zlog_debug( + "pim_upstream free vrf:%s %s flags 0x%x", + pim->vrf->name, up->sg_str, up->flags); + THREAD_OFF(up->t_ka_timer); THREAD_OFF(up->t_rs_timer); THREAD_OFF(up->t_msdp_reg_timer); @@ -333,7 +338,7 @@ static void join_timer_stop(struct pim_upstream *up) up->rpf.rpf_addr.u.prefix4); if (nbr) - pim_jp_agg_remove_group(nbr->upstream_jp_agg, up); + pim_jp_agg_remove_group(nbr->upstream_jp_agg, up, nbr); pim_jp_agg_upstream_verification(up, false); } @@ -355,7 +360,7 @@ void join_timer_start(struct pim_upstream *up) } if (nbr) - pim_jp_agg_add_group(nbr->upstream_jp_agg, up, 1); + pim_jp_agg_add_group(nbr->upstream_jp_agg, up, 1, nbr); else { THREAD_OFF(up->t_join_timer); thread_add_timer(router->master, on_join_timer, up, |
