Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jun 2000 18:52:29 +0100
From:      Brian Somers <brian@Awfulhak.org>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        arch@FreeBSD.ORG, brian@hak.lan.Awfulhak.org
Subject:   Re: Suggested change to BSD sockets API 
Message-ID:  <200006201752.SAA64474@hak.lan.Awfulhak.org>
In-Reply-To: Message from Terry Lambert <tlambert@primenet.com>  of "Tue, 20 Jun 2000 17:26:32 -0000." <200006201726.KAA19419@usr01.primenet.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
I believe Julian E did some work on this at one point but never 
finished it.

The real problem is that once you've sent that first packet, your 
local IP number is cast in stone.  You only have a chance of doing 
something prior to that - ie, at the point where data arrives at the 
interface and the interface decides it has to do something to 
establish an IP number.

This is already done in ppp(8) if you use -nat and -auto.  Ppp will 
retain the old IP number, assign the just-negotiated IP number with 
SIOCAIFADDR and NAT the outgoing packet just-in-time so that the 
initial connection succeeds.  This isn't the most elegant way (it 
would be better to be able to bind to an interface that has no IP 
number and then retrospectively resolve the binding when an IP number 
is assigned), but it works.

> One common problem I run into is that of cached state.
> 
> In particular, if I have a dial-on-demand device that uses
> a dynamic IP address assignment negotiated with the remote
> side of the link, then all of my servers currently bound
> and listening for incoming connections have to be clobbered
> over the head for them to notice the IP address change.
> 
> It seems to me that this could be better handled.
> 
> The problem appears to be cached state information (I have
> been meaning to write a white paper on "cached state considered
> harmful").
> 
> For example, an inetd, a DNS server, or a sendmail bound to a
> network address on an interface must be rebound when the IP
> address changes.
> 
> 
> I'd like to suggest that a new socket binding type be used; one
> that binds not to an IP addres, but to an interface.
> 
> The changes to support this don't seem that difficult; what do
> others think about this?
> 
> 
> 					Terry Lambert
> 					terry@lambert.org
> ---
> Any opinions in this posting are my own and not those of my present
> or previous employers.

-- 
Brian <brian@Awfulhak.org>                        <brian@[uk.]FreeBSD.org>
      <http://www.Awfulhak.org>;                   <brian@[uk.]OpenBSD.org>
Don't _EVER_ lose your sense of humour !




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006201752.SAA64474>