summaryrefslogtreecommitdiffstats
path: root/pimd
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-05-20 19:30:14 +0200
committerGitHub <noreply@github.com>2019-05-20 19:30:14 +0200
commitc1553b960fbf76536cb5384afd341310d0da8a13 (patch)
treeb338430d93b0fc682afdc25908a001eb55d8c36e /pimd
parentMerge pull request #4367 from qlyoung/doc-bgp-mpls (diff)
parentpimd: fix (s,g) expiry. (diff)
downloadfrr-c1553b960fbf76536cb5384afd341310d0da8a13.tar.xz
frr-c1553b960fbf76536cb5384afd341310d0da8a13.zip
Merge pull request #4350 from patrasar/pim_sg_expiry
pimd: fix (s,g) expiry.
Diffstat (limited to 'pimd')
-rw-r--r--pimd/pim_ifchannel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c
index 352177db2..9b242e9be 100644
--- a/pimd/pim_ifchannel.c
+++ b/pimd/pim_ifchannel.c
@@ -1404,7 +1404,9 @@ void pim_ifchannel_set_star_g_join_state(struct pim_ifchannel *ch, int eom,
PIM_IF_FLAG_UNSET_S_G_RPT(child->flags);
child->ifjoin_state = PIM_IFJOIN_NOINFO;
- if (I_am_RP(pim, child->sg.grp)) {
+ if ((I_am_RP(pim, child->sg.grp)) &&
+ (!pim_upstream_empty_inherited_olist(
+ child->upstream))) {
pim_channel_add_oif(
child->upstream->channel_oil,
ch->interface, PIM_OIF_FLAG_PROTO_STAR);