From owner-freebsd-bugs Mon Oct 21 21:42:38 2002 Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A14737B401 for ; Mon, 21 Oct 2002 21:42:36 -0700 (PDT) Received: from orange.kame.net (orange.kame.net [203.178.141.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id D2EEA43E7B for ; Mon, 21 Oct 2002 21:42:34 -0700 (PDT) (envelope-from suz@crl.hitachi.co.jp) Received: from s30.crl.hitachi.co.jp (orange.kame.net [203.178.141.194]) by orange.kame.net (Postfix) with ESMTP id E332170EA; Tue, 22 Oct 2002 13:42:32 +0900 (JST) Date: Tue, 22 Oct 2002 13:42:18 +0900 Message-ID: From: SUZUKI Shinsuke To: "luke mazza" Cc: freebsd-bugs@FreeBSD.ORG Subject: Re: system kill X-cite: xcite 1.33 In-Reply-To: References: User-Agent: User-Agent: Wanderlust/2.9.15 (Unchained Melody) Emacs/21.1 Mule/5.0 (SAKAKI) Organization: Network Architecture Research Dept., Central Research Laboratory, Hitachi, Ltd, Japan MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: multipart/mixed; boundary="Multipart_Tue_Oct_22_13:42:18_2002-1" Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org --Multipart_Tue_Oct_22_13:42:18_2002-1 Content-Type: text/plain; charset=US-ASCII Hello Luke, >>>>> On Sun, 20 Oct 2002 16:31:56 -0700 >>>>> lukemazza@hotmail.com("luke mazza") said: > well when playing around trying to troubleshoot some ipv6 issues i came > across something i think you guys might want to take a look at > > when i issue the command > ifconfig stf0 inet 66.69.16.11 alias > > everything crashes and forces reboot Could you please try this patch? (it's a patch for current, but I believe it works for 4.7-RELEASE, too) If you can confirm it works fine, I'll commit it to freebsd-current (and MFC later). Thanks, ---- SUZUKI, Shinsuke @ Hitachi / KAME Project --Multipart_Tue_Oct_22_13:42:18_2002-1 Content-Type: text/plain; charset=US-ASCII Index: in.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/in.c,v retrieving revision 1.66 diff -u -r1.66 in.c --- in.c 10 Jun 2002 20:05:36 -0000 1.66 +++ in.c 22 Oct 2002 04:37:21 -0000 @@ -664,7 +664,12 @@ int s = splimp(), flags = RTF_UP, error = 0; oldaddr = ia->ia_addr; + if (oldaddr.sin_family == AF_INET) + LIST_REMOVE(ia, ia_hash); ia->ia_addr = *sin; + if (ia->ia_addr.sin_family == AF_INET) + LIST_INSERT_HEAD(INADDR_HASH(ia->ia_addr.sin_addr.s_addr), + ia, ia_hash); /* * Give the interface a chance to initialize * if this is its first address, @@ -673,14 +678,13 @@ if (ifp->if_ioctl && (error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia))) { splx(s); + /* LIST_REMOVE(ia, ia_hash) is done in in_control */ ia->ia_addr = oldaddr; + if (ia->ia_addr.sin_family == AF_INET) + LIST_INSERT_HEAD(INADDR_HASH(ia->ia_addr.sin_addr.s_addr), + ia, ia_hash); return (error); } - if (oldaddr.sin_family == AF_INET) - LIST_REMOVE(ia, ia_hash); - if (ia->ia_addr.sin_family == AF_INET) - LIST_INSERT_HEAD(INADDR_HASH(ia->ia_addr.sin_addr.s_addr), - ia, ia_hash); splx(s); if (scrub) { ia->ia_ifa.ifa_addr = (struct sockaddr *)&oldaddr; --Multipart_Tue_Oct_22_13:42:18_2002-1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message