diff options
Diffstat (limited to 'pimd/pim_neighbor.c')
| -rw-r--r-- | pimd/pim_neighbor.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/pimd/pim_neighbor.c b/pimd/pim_neighbor.c index 9edc3c1af2..0b7ea0ad9d 100644 --- a/pimd/pim_neighbor.c +++ b/pimd/pim_neighbor.c @@ -406,7 +406,7 @@ struct pim_neighbor *pim_neighbor_find_by_secondary(struct interface *ifp,  }  struct pim_neighbor *pim_neighbor_find(struct interface *ifp, -				       pim_addr source_addr) +				       pim_addr source_addr, bool secondary)  {  	struct pim_interface *pim_ifp;  	struct listnode *node; @@ -425,6 +425,13 @@ struct pim_neighbor *pim_neighbor_find(struct interface *ifp,  		}  	} +	if (secondary) { +		struct prefix p; + +		pim_addr_to_prefix(&p, source_addr); +		return pim_neighbor_find_by_secondary(ifp, &p); +	} +  	return NULL;  }  | 
