]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd: Fix DownstreamJPState(S,G,I) check.
authorDonald Sharp <sharpd@cumulusnetwroks.com>
Sat, 30 Jul 2016 01:02:17 +0000 (21:02 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:04 +0000 (20:26 -0500)
Fix the
DownStreamJPState(S,G,I) and
DownStreamJPState(*,G,I) macros.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_macro.c

index e6eb462b77ab3460d1e8cea9f35606a67aabb0dd..22da24da4a95b44def45e8e2bbb365a20fd0f0c1 100644 (file)
 #include "pim_str.h"
 #include "pim_iface.h"
 #include "pim_ifchannel.h"
+#include "pim_rp.h"
 
 /*
   DownstreamJPState(S,G,I) is the per-interface state machine for
   receiving (S,G) Join/Prune messages.
 
-  DownstreamJPState(S,G,I) is either Join or Prune-Pending ?
+  DownstreamJPState(S,G,I) is either Join or Prune-Pending
+  DownstreamJPState(*,G,I) is either Join or Prune-Pending
 */
 static int downstream_jpstate_isjoined(const struct pim_ifchannel *ch)
 {
-  return ch->ifjoin_state != PIM_IFJOIN_NOINFO;
+  return (ch->ifjoin_state == PIM_IFJOIN_NOINFO ||
+         ch->ifjoin_state == PIM_IFJOIN_PRUNE_PENDING);
 }
 
 /*