summaryrefslogtreecommitdiff
path: root/pimd/pim_iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_iface.c')
-rw-r--r--pimd/pim_iface.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index b79fb689dc..0caa360df9 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -341,7 +341,7 @@ pim_sec_addr_find(struct pim_interface *pim_ifp, struct prefix *addr)
struct listnode *node;
for (ALL_LIST_ELEMENTS_RO(pim_ifp->sec_addr_list, node, sec_addr)) {
- if (prefix_cmp(&sec_addr->addr, addr)) {
+ if (prefix_cmp(&sec_addr->addr, addr) == 0) {
return sec_addr;
}
}
@@ -1504,14 +1504,14 @@ void pim_if_create_pimreg(struct pim_instance *pim)
}
}
-int pim_if_connected_to_source(struct interface *ifp, struct in_addr src)
+struct prefix *pim_if_connected_to_source(struct interface *ifp, struct in_addr src)
{
struct listnode *cnode;
struct connected *c;
struct prefix p;
if (!ifp)
- return 0;
+ return NULL;
p.family = AF_INET;
p.u.prefix4 = src;
@@ -1520,11 +1520,11 @@ int pim_if_connected_to_source(struct interface *ifp, struct in_addr src)
for (ALL_LIST_ELEMENTS_RO(ifp->connected, cnode, c)) {
if ((c->address->family == AF_INET)
&& prefix_match(CONNECTED_PREFIX(c), &p)) {
- return 1;
+ return CONNECTED_PREFIX(c);
}
}
- return 0;
+ return NULL;
}
bool pim_if_is_vrf_device(struct interface *ifp)