Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/netinet6/ip6_input.c,v retrieving revision 1.98.2.4 retrieving revision 1.98.2.5 diff -u -p -r1.98.2.4 -r1.98.2.5 --- src/sys/netinet6/ip6_input.c 2007/07/02 13:46:08 1.98.2.4 +++ src/sys/netinet6/ip6_input.c 2007/08/20 21:28:05 1.98.2.5 @@ -1,4 +1,4 @@ -/* $NetBSD: ip6_input.c,v 1.98.2.4 2007/07/02 13:46:08 yamt Exp $ */ +/* $NetBSD: ip6_input.c,v 1.98.2.5 2007/08/20 21:28:05 ad Exp $ */ /* $KAME: ip6_input.c,v 1.188 2001/03/29 05:34:31 itojun Exp $ */ /* @@ -62,7 +62,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ip6_input.c,v 1.98.2.4 2007/07/02 13:46:08 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip6_input.c,v 1.98.2.5 2007/08/20 21:28:05 ad Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -490,7 +490,7 @@ ip6_input(struct mbuf *m) else ip6stat.ip6s_forward_cachemiss++; -#define rt6_key(r) ((struct sockaddr_in6 *)((r)->rt_nodes->rn_key)) +#define rt6_getkey(__rt) satocsin6(rt_getkey(__rt)) /* * Accept the packet if the forwarding interface to the destination @@ -510,7 +510,7 @@ ip6_input(struct mbuf *m) * the destination and the key of the rtentry has * already done through looking up the routing table. */ - IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, &rt6_key(rt)->sin6_addr) && + IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, &rt6_getkey(rt)->sin6_addr) && #endif rt->rt_ifp->if_type == IFT_LOOP) { struct in6_ifaddr *ia6 = (struct in6_ifaddr *)rt->rt_ifa;