That is true for dialup links with static addresses. But 99% of all
dialup links have dynamically allocated addresses, where it is rather
unlikely that you get the same address again. It could happen in theory,
the probability depends on the particular setup. With IFF_DYNAMIC the user
can do the tradeoff: either he wants fast error propagation because it is
too unlikely that the same address reappears, or he thinks his chances in
the gamble are high enough that it is worth to take the disadvantages (hanging
sockets) if he loses. For me I prefer better error recovery, and e.g.
my gnus knows how to reestablish connections to the NNTP server, but it
has no way to know about all kind of weird failures that happen in device
layer. With IFF_DYNAMIC I can chose.
You probably never lived in a dynamic IP world, it makes you really see
some IP aspects differently.
> I want to stress again: tcp resets may be caused only
> by tcp protocol itself or by user request: they cannot be generated
> because of problem of lower layer of ANY KIND.
> All of such kind of problems are transient by definition.
I disagree. A lose of an IP address is definitely not transistent, because
it "destroys" the endpoint forever and it is not possible to recover.
> > So an sk->userbind flag is the way to go I think.
>
> Excellent. What do you think, if it was sk->autobound flag?
> Set it in inet_autobind(), and reset in bind() or getsockname().
> Seems, it is better or not?
sk->autobound is fine too and even nicer :)
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/