From be4791f25754610727289d00b10a4871d512f160 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 28 Oct 2016 13:23:17 -0400 Subject: [PATCH] pimd: Start (S,G,rpt) coding Start putting some infrastructure for (S,G,rpt) handling Signed-off-by: Donald Sharp --- pimd/pim_ifchannel.c | 23 ++++++++++++++++++++--- pimd/pim_ifchannel.h | 3 +++ 2 files changed, 23 insertions(+), 3 deletions(-) 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 { -- 2.39.5