mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 15:58:18 +00:00
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:
parent
cb24fec45c
commit
be4791f257
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user