diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-11-09 08:30:04 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-21 20:26:14 -0500 |
| commit | b76d6e718e0f28d1ce7fcd23df57979c3e5abb49 (patch) | |
| tree | 19f6d386ad6a7fdfb3a4a8be2810719b7937f5cd /pimd/pim_macro.c | |
| parent | 7f8b8a9af65212217646e3b98cd627fbac10830f (diff) | |
pimd: Modify downstream JP state to take into account all states
When we make a decision about downstream state let's
take into account all states.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_macro.c')
| -rw-r--r-- | pimd/pim_macro.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/pimd/pim_macro.c b/pimd/pim_macro.c index 177de66673..da12146be1 100644 --- a/pimd/pim_macro.c +++ b/pimd/pim_macro.c @@ -42,7 +42,20 @@ */ static int downstream_jpstate_isjoined(const struct pim_ifchannel *ch) { - return (ch->ifjoin_state != PIM_IFJOIN_NOINFO); + switch (ch->ifjoin_state) + { + case PIM_IFJOIN_NOINFO: + case PIM_IFJOIN_PRUNE: + case PIM_IFJOIN_PRUNE_TMP: + case PIM_IFJOIN_PRUNE_PENDING_TMP: + return 0; + break; + case PIM_IFJOIN_JOIN: + case PIM_IFJOIN_PRUNE_PENDING: + return 1; + break; + } + return 0; } /* |
