Subject: Re: Fw: Re: tcp connections lost on interface down
To: None <tech-net@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-net
Date: 08/17/2003 05:29:17
> Happening because of a local address "vanishing" might not be the
> most common cause, but connections that simply "go away without
> saying goodnight" are a fact of life ([...half-open connections...])

Well, this is rather different from a half-open connection; in that
case, the local end is in a self-consistent state, just one that
doesn't match with the peer's state.  Here, our end is left in a
bizarre state, not normally possible for a TCP even in the presence of
failures: we have a tcb for a connection neither of whose addresses is
ours.  We can't send on it, we can't receive on it, we can't do
anything with it as far as wire protocol is concerned.

Actually, I wonder if the ideal thing wouldn't be to start a timer,
with a value equal to the time it takes for the TCP stack to drop a
connection for lack of response to data segments, and if the address
hasn't come back by the time the timer expires, kill the connections.

> ps: Itojun's change from yesterday was just restoring NetBSD to how
> it has been for most of its existence, the "break connections now"
> change was a (fairly) recent "innovation".

That doesn't make it any more right as far as I can see.  (Or wrong,
for that matter.)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B