]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pimd: Handling Join/Prune statistics for passive interface
authorsarita patra <saritap@vmware.com>
Mon, 4 Apr 2022 11:11:38 +0000 (04:11 -0700)
committersarita patra <saritap@vmware.com>
Fri, 13 May 2022 06:51:21 +0000 (23:51 -0700)
Increment pim_ifstat_prune_send only when interface is
passive disabled.

Signed-off-by: sarita patra <saritap@vmware.com>
pimd/pim_join.c

index 58de2c4a86a9535822be09c93c49d482ebfc52ff..8c945b1e002983036ce44b6ad7b65ac40d81b089 100644 (file)
@@ -497,7 +497,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                                         pim_ifp->primary_address,
                                         qpim_all_pim_routers_addr, pim_msg,
                                         packet_size,
-                                        rpf->source_nexthop.interface->name)) {
+                                        rpf->source_nexthop.interface)) {
                                zlog_warn(
                                        "%s: could not send PIM message on interface %s",
                                        __func__,
@@ -535,8 +535,10 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                packet_size += group_size;
                pim_msg_build_jp_groups(grp, group, group_size);
 
-               pim_ifp->pim_ifstat_join_send += ntohs(grp->joins);
-               pim_ifp->pim_ifstat_prune_send += ntohs(grp->prunes);
+               if (!pim_ifp->pim_passive_enable) {
+                       pim_ifp->pim_ifstat_join_send += ntohs(grp->joins);
+                       pim_ifp->pim_ifstat_prune_send += ntohs(grp->prunes);
+               }
 
                if (PIM_DEBUG_PIM_TRACE)
                        zlog_debug(
@@ -555,7 +557,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                                         pim_ifp->primary_address,
                                         qpim_all_pim_routers_addr, pim_msg,
                                         packet_size,
-                                        rpf->source_nexthop.interface->name)) {
+                                        rpf->source_nexthop.interface)) {
                                zlog_warn(
                                        "%s: could not send PIM message on interface %s",
                                        __func__,
@@ -574,8 +576,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                        pim_msg, packet_size, PIM_MSG_TYPE_JOIN_PRUNE, false);
                if (pim_msg_send(pim_ifp->pim_sock_fd, pim_ifp->primary_address,
                                 qpim_all_pim_routers_addr, pim_msg,
-                                packet_size,
-                                rpf->source_nexthop.interface->name)) {
+                                packet_size, rpf->source_nexthop.interface)) {
                        zlog_warn(
                                "%s: could not send PIM message on interface %s",
                                __func__, rpf->source_nexthop.interface->name);