pimd: Start (S,G,rpt) coding

Start putting some infrastructure for (S,G,rpt) handling

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2016-10-28 13:23:17 -04:00
parent cb24fec45c
commit be4791f257
2 changed files with 23 additions and 3 deletions

View 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;
}
}

View 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 {