]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_igmp_mtrace.c
zebra: Refactor kernel_rtm to be a bit smarter about how it handles options
[mirror_frr.git] / pimd / pim_igmp_mtrace.c
index d3ae185709079d6a8eb0b54cfd8e030f147fb505..1fb624a6a0bde85f6542697ed8312eef70020c1f 100644 (file)
@@ -615,7 +615,7 @@ int igmp_mtrace_recv_qry_req(struct igmp_sock *igmp, struct ip *ip_hdr,
        static uint32_t qry_id, qry_src;
        char mtrace_buf[MTRACE_HDR_SIZE + MTRACE_MAX_HOPS * MTRACE_RSP_SIZE];
        struct interface *ifp;
-       struct interface *out_ifp;
+       struct interface *out_ifp = NULL;
        struct pim_interface *pim_ifp;
        struct pim_instance *pim;
        struct igmp_mtrace *mtracep;
@@ -671,6 +671,9 @@ int igmp_mtrace_recv_qry_req(struct igmp_sock *igmp, struct ip *ip_hdr,
                return -1;
        }
 
+       /* Collecting IGMP Rx stats */
+       igmp->rx_stats.mtrace_req++;
+
        if (PIM_DEBUG_MTRACE)
                mtrace_debug(pim_ifp, mtracep, igmp_msg_len);
 
@@ -814,7 +817,7 @@ int igmp_mtrace_recv_qry_req(struct igmp_sock *igmp, struct ip *ip_hdr,
                 * Previous-hop router not known,
                 * packet is sent to an appropriate multicast address
                 */
-               inet_aton(MCAST_ALL_ROUTERS, &nh_addr);
+               (void)inet_aton(MCAST_ALL_ROUTERS, &nh_addr);
        }
 
        /* 6.2.2 8. If this router is the Rendez-vous Point */
@@ -881,6 +884,9 @@ int igmp_mtrace_recv_response(struct igmp_sock *igmp, struct ip *ip_hdr,
 
        mtracep->checksum = checksum;
 
+       /* Collecting IGMP Rx stats */
+       igmp->rx_stats.mtrace_rsp++;
+
        if (PIM_DEBUG_MTRACE)
                mtrace_debug(pim_ifp, mtracep, igmp_msg_len);