Date: Wed, 05 Jul 2000 10:54:08 +0900 From: itojun@iijlab.net To: sam@inf.enst.fr Cc: bugs@freebsd.org Subject: kern/17909 Message-ID: <26451.962762048@coconut.itojun.org>
next in thread | raw e-mail | index | archive | help
about this problem: http://www.FreeBSD.org/cgi/query-pr.cgi?pr=17909 does the patch (against latest freebsd-current) solve the problem? itojun Index: if.c =================================================================== RCS file: /home/ncvs/src/sys/net/if.c,v retrieving revision 1.90 diff -c -r1.90 if.c *** if.c 2000/06/30 16:38:24 1.90 --- if.c 2000/07/05 01:51:19 *************** *** 63,68 **** --- 63,70 ---- #include <netinet/in_var.h> #ifdef INET6 #include <machine/clock.h> /* XXX: temporal workaround for fxp issue */ + #include <netinet6/in6_var.h> + #include <netinet6/in6_ifattach.h> #endif #endif *************** *** 260,278 **** } #endif /* INET */ #ifdef INET6 - /* XXX: Ugly!! ad hoc just for INET6 */ if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET6) { ! struct in6_aliasreq ifr; ! ! bzero(&ifr, sizeof(ifr)); ! ifr.ifra_addr = ! *((struct sockaddr_in6 *)ifa->ifa_addr); ! if (ifa->ifa_dstaddr) ! ifr.ifra_dstaddr = ! *((struct sockaddr_in6 *)ifa->ifa_dstaddr); ! if (in6_control(NULL, SIOCDIFADDR_IN6, (caddr_t)&ifr, ! ifp, NULL) == 0) ! continue; } #endif /* INET6 */ TAILQ_REMOVE(&ifp->if_addrhead, ifa, ifa_link); --- 262,271 ---- } #endif /* INET */ #ifdef INET6 if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET6) { ! in6_purgeaddr(ifa, ifp); ! /* ifp_addrhead is already updated */ ! continue; } #endif /* INET6 */ TAILQ_REMOVE(&ifp->if_addrhead, ifa, ifa_link); *************** *** 290,295 **** --- 283,293 ---- continue; (void) rnh->rnh_walktree(rnh, if_rtdel, ifp); } + + #ifdef INET6 + /* nuke all IPv6 kernel structs related to ifp */ + in6_ifdetach(ifp); + #endif TAILQ_REMOVE(&ifnet, ifp, if_link); splx(s); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?26451.962762048>