diff --git a/pimd/pim_rpf.c b/pimd/pim_rpf.c index 1724185e97..b71024711a 100644 --- a/pimd/pim_rpf.c +++ b/pimd/pim_rpf.c @@ -347,3 +347,12 @@ pim_rpf_addr_is_inaddr_any (struct pim_rpf *rpf) return 0; } + +int +pim_rpf_is_same (struct pim_rpf *rpf1, struct pim_rpf *rpf2) +{ + if (rpf1->source_nexthop.interface == rpf2->source_nexthop.interface) + return 1; + + return 0; +} diff --git a/pimd/pim_rpf.h b/pimd/pim_rpf.h index b267a9b6fa..e54aa51256 100644 --- a/pimd/pim_rpf.h +++ b/pimd/pim_rpf.h @@ -69,5 +69,6 @@ enum pim_rpf_result pim_rpf_update(struct pim_upstream *up, struct in_addr *old_ int pim_rpf_addr_is_inaddr_none (struct pim_rpf *rpf); int pim_rpf_addr_is_inaddr_any (struct pim_rpf *rpf); +int pim_rpf_is_same (struct pim_rpf *rpf1, struct pim_rpf *rpf2); void pim_rpf_set_refresh_time (void); #endif /* PIM_RPF_H */