]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd: Start (S,G,rpt) coding
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 28 Oct 2016 17:23:17 +0000 (13:23 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:12 +0000 (20:26 -0500)
Start putting some infrastructure for (S,G,rpt) handling

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

index 45d1d9434436ac915a4f29431dcc261e0eaee84f..0c4be9a518744dd63a3259e32c1c80b32f4b34d9 100644 (file)
@@ -218,9 +218,12 @@ void pim_ifchannel_ifjoin_switch(const char *caller,
 const char *pim_ifchannel_ifjoin_name(enum pim_ifjoin_state ifjoin_state)
 {
   switch (ifjoin_state) {
-  case PIM_IFJOIN_NOINFO:        return "NOINFO";
-  case PIM_IFJOIN_JOIN:          return "JOIN";
-  case PIM_IFJOIN_PRUNE_PENDING: return "PRUNEP";
+  case PIM_IFJOIN_NOINFO:            return "NOINFO";
+  case PIM_IFJOIN_JOIN:              return "JOIN";
+  case PIM_IFJOIN_PRUNE:             return "PRUNE";
+  case PIM_IFJOIN_PRUNE_PENDING:     return "PRUNEP";
+  case PIM_IFJOIN_PRUNE_TMP:         return "PRUNET";
+  case PIM_IFJOIN_PRUNE_PENDING_TMP: return "PRUNEPT";
   }
 
   return "ifjoin_bad_state";
@@ -686,12 +689,21 @@ void pim_ifchannel_join_add(struct interface *ifp,
     }
     THREAD_OFF(ch->t_ifjoin_expiry_timer);
     break;
+  case PIM_IFJOIN_PRUNE:
+    zlog_debug ("PIM_IFJOIN_PRUNE: NOT PROGRAMMED YET");
+    break;
   case PIM_IFJOIN_PRUNE_PENDING:
     zassert(!ch->t_ifjoin_expiry_timer);
     zassert(ch->t_ifjoin_prune_pending_timer);
     THREAD_OFF(ch->t_ifjoin_prune_pending_timer);
     pim_ifchannel_ifjoin_switch(__PRETTY_FUNCTION__, ch, PIM_IFJOIN_JOIN);
     break;
+  case PIM_IFJOIN_PRUNE_TMP:
+    zlog_debug ("PIM_IFJOIN_PRUNE_TMP: Not Programmed yet");
+    break;
+  case PIM_IFJOIN_PRUNE_PENDING_TMP:
+    zlog_debug ("PIM_IFJOIN_PRUNE_PENDING_TMP: Not Programmed yet");
+    break;
   }
 
   if (holdtime != 0xFFFF) {
@@ -755,6 +767,11 @@ void pim_ifchannel_prune(struct interface *ifp,
       zassert(ch->t_ifjoin_prune_pending_timer);
     }
     break;
+  case PIM_IFJOIN_PRUNE:
+  case PIM_IFJOIN_PRUNE_TMP:
+  case PIM_IFJOIN_PRUNE_PENDING_TMP:
+    zlog_debug ("CASE NOT HANDLED");
+    break;
   }
 
 }
index 107762c65234306aad66c4663f6c183460c90e79..e98abfcf30c5c6ffb4b210622ea8c85b1f86784a 100644 (file)
@@ -37,7 +37,10 @@ enum pim_ifmembership {
 enum pim_ifjoin_state {
   PIM_IFJOIN_NOINFO,
   PIM_IFJOIN_JOIN,
+  PIM_IFJOIN_PRUNE,
   PIM_IFJOIN_PRUNE_PENDING,
+  PIM_IFJOIN_PRUNE_TMP,
+  PIM_IFJOIN_PRUNE_PENDING_TMP,
 };
 
 enum pim_ifassert_state {