diff options
Diffstat (limited to 'pimd/pim_bsm.c')
| -rw-r--r-- | pimd/pim_bsm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/pimd/pim_bsm.c b/pimd/pim_bsm.c index c45823cb87..d2e299a007 100644 --- a/pimd/pim_bsm.c +++ b/pimd/pim_bsm.c @@ -36,6 +36,7 @@ #include "pim_bsm.h" #include "pim_time.h" #include "pim_zebra.h" +#include "pim_util.h" /* Functions forward declaration */ static void pim_bs_timer_start(struct bsm_scope *scope, int bs_timeout); @@ -284,7 +285,7 @@ static void pim_on_g2rp_timer(struct thread *t) struct rp_info *rp_info; struct route_node *rn; uint16_t elapse; - struct in_addr bsrp_addr; + pim_addr bsrp_addr; bsrp = THREAD_ARG(t); THREAD_OFF(bsrp->g2rp_timer); @@ -324,10 +325,9 @@ static void pim_on_g2rp_timer(struct thread *t) if (rp_info->rp_src != RP_SRC_STATIC) { /* If new rp available, change it else delete the existing */ if (bsrp) { - bsrp_addr = bsrp->rp_address; pim_g2rp_timer_start( bsrp, (bsrp->rp_holdtime - bsrp->elapse_time)); - pim_rp_change(pim, bsrp_addr, bsgrp_node->group, + pim_rp_change(pim, bsrp->rp_address, bsgrp_node->group, RP_SRC_BSR); } else { pim_rp_del(pim, bsrp_addr, bsgrp_node->group, NULL, @@ -417,7 +417,7 @@ static void pim_instate_pend_list(struct bsgrp_node *bsgrp_node) pend = bsm_rpinfos_first(bsgrp_node->partial_bsrp_list); - if (!str2prefix("224.0.0.0/4", &group_all)) + if (!pim_get_all_mcast_group(&group_all)) return; rp_all = pim_rp_find_match_group(pim, &group_all); @@ -628,7 +628,7 @@ void pim_bsm_clear(struct pim_instance *pim) pim_delete_tracked_nexthop(pim, &nht_p, NULL, rp_info); - if (!str2prefix("224.0.0.0/4", &g_all)) + if (!pim_get_all_mcast_group(&g_all)) return; rp_all = pim_rp_find_match_group(pim, &g_all); |
