summaryrefslogtreecommitdiff
path: root/pimd
diff options
context:
space:
mode:
Diffstat (limited to 'pimd')
-rw-r--r--pimd/pim_cmd.c3
-rw-r--r--pimd/pim_nht.c16
-rw-r--r--pimd/pim_register.c2
-rw-r--r--pimd/pim_upstream.c2
-rw-r--r--pimd/pim_upstream.h4
5 files changed, 16 insertions, 11 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index fed256323f..93af0b92b5 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -7429,6 +7429,9 @@ static void igmp_sock_query_interval_reconfig(struct igmp_sock *igmp)
static void igmp_sock_query_reschedule(struct igmp_sock *igmp)
{
+ if (igmp->mtrace_only)
+ return;
+
if (igmp->t_igmp_query_timer) {
/* other querier present */
zassert(igmp->t_igmp_query_timer);
diff --git a/pimd/pim_nht.c b/pimd/pim_nht.c
index 9efeeaee27..dd94918b69 100644
--- a/pimd/pim_nht.c
+++ b/pimd/pim_nht.c
@@ -255,7 +255,7 @@ bool pim_nexthop_match(struct pim_instance *pim, struct in_addr addr,
int num_ifindex;
if (addr.s_addr == INADDR_NONE)
- return 0;
+ return false;
memset(nexthop_tab, 0,
sizeof(struct pim_zlookup_nexthop) * MULTIPATH_NUM);
@@ -268,7 +268,7 @@ bool pim_nexthop_match(struct pim_instance *pim, struct in_addr addr,
zlog_warn(
"%s %s: could not find nexthop ifindex for address %s",
__FILE__, __PRETTY_FUNCTION__, addr_str);
- return 0;
+ return false;
}
while (i < num_ifindex) {
@@ -319,12 +319,12 @@ bool pim_nexthop_match(struct pim_instance *pim, struct in_addr addr,
if (nexthop_tab[i].nexthop_addr.u.prefix4.s_addr
== ip_src.s_addr)
- return 1;
+ return true;
i++;
}
- return 0;
+ return false;
}
/* Given a source address and a neighbor address, check if the neighbor is one
@@ -348,7 +348,7 @@ bool pim_nexthop_match_nht_cache(struct pim_instance *pim, struct in_addr addr,
pnc = pim_nexthop_cache_find(pim, &rpf);
if (!pnc || !pnc->nexthop_num)
- return 0;
+ return false;
for (nh_node = pnc->nexthop; nh_node; nh_node = nh_node->next) {
first_ifindex = nh_node->ifindex;
@@ -398,10 +398,10 @@ bool pim_nexthop_match_nht_cache(struct pim_instance *pim, struct in_addr addr,
}
if (nh_node->gate.ipv4.s_addr == ip_src.s_addr)
- return 1;
+ return true;
}
- return 0;
+ return false;
}
void pim_rp_nexthop_del(struct rp_info *rp_info)
@@ -1086,7 +1086,7 @@ int pim_ecmp_fib_lookup_if_vif_index(struct pim_instance *pim,
sizeof(addr_str));
memset(&nhop, 0, sizeof(nhop));
- if (!pim_ecmp_nexthop_lookup(pim, &nhop, src, grp, 0)) {
+ if (!pim_ecmp_nexthop_lookup(pim, &nhop, src, grp, 1)) {
if (PIM_DEBUG_PIM_NHT)
zlog_debug(
"%s: could not find nexthop ifindex for address %s(%s)",
diff --git a/pimd/pim_register.c b/pimd/pim_register.c
index aa9faf6923..27b3b1d9d6 100644
--- a/pimd/pim_register.c
+++ b/pimd/pim_register.c
@@ -122,6 +122,8 @@ int pim_register_stop_recv(struct interface *ifp, uint8_t *buf, int buf_size)
struct prefix_sg sg;
int l;
+ ++pim_ifp->pim_ifstat_reg_stop_recv;
+
memset(&sg, 0, sizeof(struct prefix_sg));
l = pim_parse_addr_group(&sg, buf, buf_size);
buf += l;
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c
index 444ab938f2..940b5a33ce 100644
--- a/pimd/pim_upstream.c
+++ b/pimd/pim_upstream.c
@@ -1151,7 +1151,7 @@ static inline bool pim_upstream_is_msdp_peer_sa(struct pim_upstream *up)
* AND inherited_olist(S,G) != NULL ) )
* }
*/
-int pim_upstream_evaluate_join_desired(struct pim_instance *pim,
+bool pim_upstream_evaluate_join_desired(struct pim_instance *pim,
struct pim_upstream *up)
{
bool empty_imm_oil;
diff --git a/pimd/pim_upstream.h b/pimd/pim_upstream.h
index c717c467dc..4d693b8b64 100644
--- a/pimd/pim_upstream.h
+++ b/pimd/pim_upstream.h
@@ -303,8 +303,8 @@ struct pim_upstream *pim_upstream_del(struct pim_instance *pim,
struct pim_upstream *up,
const char *name);
-int pim_upstream_evaluate_join_desired(struct pim_instance *pim,
- struct pim_upstream *up);
+bool pim_upstream_evaluate_join_desired(struct pim_instance *pim,
+ struct pim_upstream *up);
int pim_upstream_evaluate_join_desired_interface(struct pim_upstream *up,
struct pim_ifchannel *ch,
struct pim_ifchannel *starch);