summaryrefslogtreecommitdiffstats
path: root/pimd/pim_rpf.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_rpf.c')
-rw-r--r--pimd/pim_rpf.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pimd/pim_rpf.c b/pimd/pim_rpf.c
index 3d278f12a..180586a78 100644
--- a/pimd/pim_rpf.c
+++ b/pimd/pim_rpf.c
@@ -263,7 +263,9 @@ enum pim_rpf_result pim_rpf_update(struct pim_upstream *up, struct pim_rpf *old,
}
/* detect change in RPF'(S,G) */
- if (saved.rpf_addr.u.prefix4.s_addr != rpf->rpf_addr.u.prefix4.s_addr) {
+ if (saved.rpf_addr.u.prefix4.s_addr != rpf->rpf_addr.u.prefix4.s_addr ||
+ saved.source_nexthop.interface != rpf->source_nexthop.interface)
+ {
/* return old rpf to caller ? */
if (old)