]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Modify downstream JP state to take into account all states
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 9 Nov 2016 13:30:04 +0000 (08:30 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:14 +0000 (20:26 -0500)
When we make a decision about downstream state let's
take into account all states.

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

index 177de66673ffc8db625061e4b9c8b137ec962eec..da12146be157421e3fdd88d2739c3c0b251029a3 100644 (file)
 */
 static int downstream_jpstate_isjoined(const struct pim_ifchannel *ch)
 {
-  return (ch->ifjoin_state != PIM_IFJOIN_NOINFO);
+  switch (ch->ifjoin_state)
+    {
+    case PIM_IFJOIN_NOINFO:
+    case PIM_IFJOIN_PRUNE:
+    case PIM_IFJOIN_PRUNE_TMP:
+    case PIM_IFJOIN_PRUNE_PENDING_TMP:
+      return 0;
+     break;
+    case PIM_IFJOIN_JOIN:
+    case PIM_IFJOIN_PRUNE_PENDING:
+      return 1;
+      break;
+    }
+  return 0;
 }
 
 /*