summaryrefslogtreecommitdiff
path: root/pimd/pim_macro.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_macro.c')
-rw-r--r--pimd/pim_macro.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pimd/pim_macro.c b/pimd/pim_macro.c
index 3f56532526..f67636a3fe 100644
--- a/pimd/pim_macro.c
+++ b/pimd/pim_macro.c
@@ -227,8 +227,6 @@ int pim_macro_ch_could_assert_eval(const struct pim_ifchannel *ch)
{
struct interface *ifp;
- /* SPTbit(S,G) is always true for PIM-SSM-Only Routers */
-
ifp = ch->interface;
if (!ifp) {
char src_str[100];
@@ -241,6 +239,10 @@ int pim_macro_ch_could_assert_eval(const struct pim_ifchannel *ch)
return 0; /* false */
}
+ /* SPTbit(S,G) == TRUE */
+ if (ch->upstream->sptbit == PIM_UPSTREAM_SPTBIT_FALSE)
+ return 0; /* false */
+
/* RPF_interface(S) != I ? */
if (ch->upstream->rpf.source_nexthop.interface == ifp)
return 0; /* false */