diff options
Diffstat (limited to 'pimd/pim_rpf.c')
-rw-r--r-- | pimd/pim_rpf.c | 4 |
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) |