]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Cleanup some join debug messages
authorDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 5 Jun 2017 17:44:15 +0000 (13:44 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:39 +0000 (13:51 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_join.c

index 94f0a93e6c3728d5554b4a967d1cd788f4a54620..9796f580cefa7df58cae59c778b9014b6cce6767 100644 (file)
@@ -64,9 +64,9 @@ static void recv_join(struct interface *ifp, struct pim_neighbor *neigh,
                zlog_warn(
                        "%s: join (S,G)=%s rpt=%d wc=%d upstream=%s holdtime=%d from %s on %s",
                        __PRETTY_FUNCTION__, pim_str_sg_dump(sg),
-                       source_flags & PIM_RPT_BIT_MASK,
-                       source_flags & PIM_WILDCARD_BIT_MASK, up_str, holdtime,
-                       neigh_str, ifp->name);
+                       !!(source_flags & PIM_RPT_BIT_MASK),
+                       !!(source_flags & PIM_WILDCARD_BIT_MASK), up_str,
+                       holdtime, neigh_str, ifp->name);
        }
 
        pim_ifp = ifp->info;
@@ -86,8 +86,20 @@ static void recv_join(struct interface *ifp, struct pim_neighbor *neigh,
                 * If the RP sent in the message is not
                 * our RP for the group, drop the message
                 */
-               if (sg->src.s_addr != rp->rpf_addr.u.prefix4.s_addr)
+               if (sg->src.s_addr != rp->rpf_addr.u.prefix4.s_addr) {
+                       char received_rp[INET_ADDRSTRLEN];
+                       char local_rp[INET_ADDRSTRLEN];
+                       pim_inet4_dump("<received?>", sg->src, received_rp,
+                                      sizeof(received_rp));
+                       pim_inet4_dump("<local?>", rp->rpf_addr.u.prefix4,
+                                      local_rp, sizeof(local_rp));
+                       if (PIM_DEBUG_PIM_TRACE)
+                               zlog_warn(
+                                       "%s: Specified RP(%s) in join is different than our configured RP(%s)",
+                                       __PRETTY_FUNCTION__, received_rp,
+                                       local_rp);
                        return;
+               }
 
                sg->src.s_addr = INADDR_ANY;
        }