--- src/sys/netinet6/in6_ifattach.c 2005/01/06 09:14:13 1.10 +++ src/sys/netinet6/in6_ifattach.c 2005/01/06 17:59:32 1.11 @@ -894,7 +894,7 @@ in6_ifdetach(struct ifnet *ifp) /* remove from the routing table */ if ((ia->ia_flags & IFA_ROUTE) && - (rt = rtlookup((struct sockaddr *)&ia->ia_addr, 0, 0UL))) { + (rt = rtpurelookup((struct sockaddr *)&ia->ia_addr))) { rtflags = rt->rt_flags; --rt->rt_refcnt; rtrequest(RTM_DELETE, @@ -954,7 +954,7 @@ in6_ifdetach(struct ifnet *ifp) sin6.sin6_family = AF_INET6; sin6.sin6_addr = in6addr_linklocal_allnodes; sin6.sin6_addr.s6_addr16[1] = htons(ifp->if_index); - rt = rtlookup((struct sockaddr *)&sin6, 0, 0UL); + rt = rtpurelookup((struct sockaddr *)&sin6); if (rt != NULL && rt->rt_ifp == ifp) { --rt->rt_refcnt; rtrequest(RTM_DELETE, (struct sockaddr *)rt_key(rt),