summaryrefslogtreecommitdiffstats
path: root/if-bsd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2015-04-30 10:16:06 +0000
committerRoy Marples <roy@marples.name>2015-04-30 10:16:06 +0000
commit68729f15d95543e1e8bb2ee5fc6b432b4a94bb87 (patch)
tree29b44138a1efee76ebee139ff33328aa9f3c5ea6 /if-bsd.c
parentd0038a71ccc51d3add40c92702f3bee4ecb2bb29 (diff)
downloaddhcpcd-68729f15d95543e1e8bb2ee5fc6b432b4a94bb87.tar.xz
Make finding interfaces take an interface list rather than a dhcpcd_ctx.
Diffstat (limited to 'if-bsd.c')
-rw-r--r--if-bsd.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/if-bsd.c b/if-bsd.c
index 69af7b6d..775c857d 100644
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -281,7 +281,7 @@ if_findsdl(struct dhcpcd_ctx *ctx, struct sockaddr_dl *sdl)
char ifname[IF_NAMESIZE];
memcpy(ifname, sdl->sdl_data, sdl->sdl_nlen);
ifname[sdl->sdl_nlen] = '\0';
- return if_find(ctx, ifname);
+ return if_find(ctx->ifaces, ifname);
}
return NULL;
}
@@ -517,7 +517,7 @@ if_copyrt(struct dhcpcd_ctx *ctx, struct rt *rt, struct rt_msghdr *rtm)
COPYOUT(rt->gate, rti_info[RTAX_GATEWAY]);
if (rtm->rtm_index)
- rt->iface = if_findindex(ctx, rtm->rtm_index);
+ rt->iface = if_findindex(ctx->ifaces, rtm->rtm_index);
else if (rtm->rtm_addrs & RTA_IFP) {
struct sockaddr_dl *sdl;
@@ -873,7 +873,7 @@ if_copyrt6(struct dhcpcd_ctx *ctx, struct rt6 *rt, struct rt_msghdr *rtm)
COPYOUT6(rt->gate, rti_info[RTAX_GATEWAY]);
if (rtm->rtm_index)
- rt->iface = if_findindex(ctx, rtm->rtm_index);
+ rt->iface = if_findindex(ctx->ifaces, rtm->rtm_index);
else if (rtm->rtm_addrs & RTA_IFP) {
struct sockaddr_dl *sdl;
@@ -1156,7 +1156,8 @@ if_managelink(struct dhcpcd_ctx *ctx)
#endif
case RTM_IFINFO:
ifm = (struct if_msghdr *)(void *)p;
- if ((ifp = if_findindex(ctx, ifm->ifm_index)) == NULL)
+ ifp = if_findindex(ctx->ifaces, ifm->ifm_index);
+ if (ifp == NULL)
break;
switch (ifm->ifm_data.ifi_link_state) {
case LINK_STATE_DOWN:
@@ -1232,7 +1233,8 @@ if_managelink(struct dhcpcd_ctx *ctx)
case RTM_DELADDR: /* FALLTHROUGH */
case RTM_NEWADDR:
ifam = (struct ifa_msghdr *)(void *)p;
- if ((ifp = if_findindex(ctx, ifam->ifam_index)) == NULL)
+ ifp = if_findindex(ctx->ifaces, ifam->ifam_index);
+ if (ifp == NULL)
break;
cp = (char *)(void *)(ifam + 1);
get_addrs(ifam->ifam_addrs, cp, rti_info);