From: Donald Sharp Date: Fri, 28 Oct 2016 17:23:17 +0000 (-0400) Subject: pimd: Start (S,G,rpt) coding X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~157 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=be4791f25754610727289d00b10a4871d512f160;p=mirror%2Ffrr.git pimd: Start (S,G,rpt) coding Start putting some infrastructure for (S,G,rpt) handling Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index 45d1d94344..0c4be9a518 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -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; } } diff --git a/pimd/pim_ifchannel.h b/pimd/pim_ifchannel.h index 107762c652..e98abfcf30 100644 --- a/pimd/pim_ifchannel.h +++ b/pimd/pim_ifchannel.h @@ -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 {