--- sys/netinet6/frag6.c (svn+ssh://svn.freebsd.org/base/head) (revision 261548) +++ sys/netinet6/frag6.c (working copy) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include /* for ECN definitions */ #include /* for ECN definitions */ @@ -185,7 +186,10 @@ frag6_input(struct mbuf **mp, int *offp, int proto dstifp = NULL; #ifdef IN6_IFSTAT_STRICT /* find the destination interface of the packet. */ - if ((ia = ip6_getdstifaddr(m)) != NULL) { + ia = in6ifa_ifwithaddr(&ip6->ip6_dst, + in6_getscopezone(m->m_pkthdr.rcvif, + in6_addrscope(&ip6->ip6_dst))); + if (ia != NULL) { dstifp = ia->ia_ifp; ifa_free(&ia->ia_ifa); }