summaryrefslogtreecommitdiff
path: root/pimd/pim_bsm.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_bsm.c')
-rw-r--r--pimd/pim_bsm.c10
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);