From owner-freebsd-bugs Mon Nov 11 17:50: 4 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 41D5D37B401 for ; Mon, 11 Nov 2002 17:50:03 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id F104B43E77 for ; Mon, 11 Nov 2002 17:50:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id gAC1o2x3052272 for ; Mon, 11 Nov 2002 17:50:02 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id gAC1o2wR052271; Mon, 11 Nov 2002 17:50:02 -0800 (PST) Date: Mon, 11 Nov 2002 17:50:02 -0800 (PST) Message-Id: <200211120150.gAC1o2wR052271@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Archie Cobbs Subject: Re: kern/38554: changing interface ipaddress doesn't seem to work Reply-To: Archie Cobbs 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 The following reply was made to PR kern/38554; it has been noted by GNATS. From: Archie Cobbs To: freebsd-gnats-submit@FreeBSD.org, Guido.Laubner@gmx.de Cc: Subject: Re: kern/38554: changing interface ipaddress doesn't seem to work Date: Mon, 11 Nov 2002 17:49:36 -0800 I've verified that this bug still exists in 4.7-RELEASE. I made sure to delete the old address (replacing it) rather than just adding the new one. What happens is that if you have a connected socket, then change the interface IP address, packets transmitted as a result of writing to the socket still use the old original IP address. This is "logical" because the socket is once and for all time bound to its original source IP address. Of course, any reply packets coming back from the remote host are dropped as they have an unrecognized destination IP address. My test used a TCP socket (ssh connection) but I'm sure that UDP would do the same thing as well. Interestingly, when you change the IP address back to its original value the socket comes back alive. Obviously it would be wrong to force outgoing packets use the new address, so probably the right thing to do here is return ENETDOWN to the write(2) (or whaveter) system call that prompted the outgoing data. -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message