On Wed, 01 Jun 2011 22:57:13 EDT erik quanstrom <quans...@quanstro.net> wrote: > > the code has nothing to do with my argument. let's take the > current behavior of terminating connection attempts on icmp > unreachable messages as correct. nobody's argued differently. > so we can take the rfc out of the argument as well. > > so unless you want your kernel to randomly respond to inputs, > an appropriate icmp unreachable matching your connection > attempt has got to always kill the connection. surely you wouldn't > have it otherwise?
imho you are thinking too hard. plan9 behavior doesn't have to be "intuitively" correct; it has to match what the rfc says. your first message said "icmp unreachable messages do not terminate the connection". this is not necessarily a bug -- depends on type and code. should kill if type 3 (desintation unreachable) & code 2 (protocol unreachable), 3 (port unreachable), 4 (DF set and fragmentation needed). not so for other codes. ignoring icmp except during initial connection seems like a bug to me. bottom line: rtf rfc! or if you want to check working code, look at *bsd's. i have more faith in the bsd tcp code than the plan9 tcp code. i am repeating myself so i will stop.