From: Roy Marples Date: Fri, 27 Feb 2015 14:21:01 +0000 (+0000) Subject: Stop using link_addr(3). X-Git-Tag: v6.8.0~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d71774dba0459c71db5deae8731bccd1b683a73;p=thirdparty%2Fdhcpcd.git Stop using link_addr(3). Instead just set the sdl_index to specify which interface the route is for. --- diff --git a/dhcpcd.h b/dhcpcd.h index 8fcf33b9..30617ecd 100644 --- a/dhcpcd.h +++ b/dhcpcd.h @@ -66,9 +66,6 @@ struct interface { unsigned int index; unsigned int flags; sa_family_t family; -#ifdef __FreeBSD__ - struct sockaddr_storage linkaddr; -#endif unsigned char hwaddr[HWADDR_LEN]; uint8_t hwlen; unsigned int metric; diff --git a/if-bsd.c b/if-bsd.c index 20002c63..389bcc51 100644 --- a/if-bsd.c +++ b/if-bsd.c @@ -153,13 +153,11 @@ static void if_linkaddr(struct sockaddr_dl *sdl, const struct interface *ifp) { -#ifdef __FreeBSD__ - memcpy(sdl, &ifp->linkaddr, sizeof(*sdl)); - sdl->sdl_nlen = sdl->sdl_alen = sdl->sdl_slen = 0; -#else + memset(sdl, 0, sizeof(*sdl)); + sdl->sdl_family = AF_LINK; sdl->sdl_len = sizeof(*sdl); - link_addr(ifp->name, sdl); -#endif + sdl->sdl_nlen = sdl->sdl_alen = sdl->sdl_slen = 0; + sdl->sdl_index = (unsigned short)ifp->index; } #endif diff --git a/if.c b/if.c index 26d0386c..36e77fb6 100644 --- a/if.c +++ b/if.c @@ -328,9 +328,6 @@ if_discover(struct dhcpcd_ctx *ctx, int argc, char * const *argv) } #endif -#ifdef __FreeBSD__ - memcpy(&ifp->linkaddr, sdl, sdl->sdl_len); -#endif ifp->index = sdl->sdl_index; switch(sdl->sdl_type) { #ifdef IFT_BRIDGE