diff options
Diffstat (limited to 'sys/netinet6/in6.c')
-rw-r--r-- | sys/netinet6/in6.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 951476450be..d2c97378295 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: in6.c,v 1.157 2015/05/15 12:00:57 claudio Exp $ */ +/* $OpenBSD: in6.c,v 1.158 2015/05/26 12:19:52 mpi Exp $ */ /* $KAME: in6.c,v 1.372 2004/06/14 08:14:21 itojun Exp $ */ /* @@ -828,10 +828,6 @@ in6_update_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, /* join solicited multicast addr for new host id */ struct sockaddr_in6 llsol; - struct sockaddr_dl sa_dl = { sizeof(sa_dl), AF_LINK }; - - sa_dl.sdl_type = ifp->if_type; - sa_dl.sdl_index = ifp->if_index; bzero(&llsol, sizeof(llsol)); llsol.sin6_family = AF_INET6; @@ -892,7 +888,7 @@ in6_update_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, bzero(&info, sizeof(info)); info.rti_info[RTAX_DST] = sin6tosa(&mltaddr); - info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&sa_dl; + info.rti_info[RTAX_GATEWAY] = sin6tosa(&ia6->ia_addr); info.rti_info[RTAX_NETMASK] = sin6tosa(&mltmask); info.rti_info[RTAX_IFA] = sin6tosa(&ia6->ia_addr); /* XXX: we need RTF_CLONING to fake nd6_rtrequest */ @@ -961,7 +957,7 @@ in6_update_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, bzero(&info, sizeof(info)); info.rti_info[RTAX_DST] = sin6tosa(&mltaddr); - info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&sa_dl; + info.rti_info[RTAX_GATEWAY] = sin6tosa(&ia6->ia_addr); info.rti_info[RTAX_NETMASK] = sin6tosa(&mltmask); info.rti_info[RTAX_IFA] = sin6tosa(&ia6->ia_addr); info.rti_flags = RTF_UP | RTF_CLONING; |