From owner-freebsd-net Thu Nov 21 14: 3:43 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD6A637B401 for ; Thu, 21 Nov 2002 14:03:41 -0800 (PST) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F80143E3B for ; Thu, 21 Nov 2002 14:03:41 -0800 (PST) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2653.19) id ; Thu, 21 Nov 2002 17:03:40 -0500 Message-ID: From: Don Bowman To: 'Archie Cobbs' , Don Bowman Cc: 'Wes Peters' , freebsd-net@freebsd.org Subject: RE: Sockets and changing IP addresses Date: Thu, 21 Nov 2002 17:03:39 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org > From: Archie Cobbs [mailto:archie@dellroad.org] > Sent: November 21, 2002 16:54 > To: Don Bowman > Cc: 'Wes Peters'; Archie Cobbs; freebsd-net@freebsd.org > Subject: Re: Sockets and changing IP addresses > > > Don Bowman wrote: > > > > I'm curious what -net's opinion is on PR kern/38544: > > > > > > > > http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/38554 > > > > > > > > In summary: if you have a connected socket whose local > IP address > > > > is X, and then change the interface IP address from X to Y, then > > > > packets written out by the socket will continue to be > transmitted > > > > with source IP address X. > > > > > > > > Do people agree that this is a bug and should be fixed? > > > > > > Yes. The other end can't possibly reply to address X, so the > > > connection is broken at this point. > > > > I think the current behaviour is correct. Since the IP->MAC lookup > > will remain cached, the communication will continue to work > to the old > > IP. Changing the IP on the connected socket will make the connection > > drop. The best case is the the way it works. > > What you're saying doesn't make sense to me. First of all, this has > nothing to do with ARP tables (although you are right that > the router's > ARP entry for the old IP address will remain valid). Secondly, the > communiation will NOT work because the host will drop packets sent > to it with the (now) wrong IP address. > > The current behavior is bad because the application does not ever > receive any notification that the socket it's using is no longer > valid. I guess I was thinking of the transparent proxy case (e.g. Squid) where I have a ipfw fwd rule, and the socket is terminated locally. Changing the IP address of the interface shouldn't drop my proxied connection. --don (don@sandvine.com www.sandvine.com) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message