On Oct 10, 2004, at 11:20 PM, Samuel Andrew McIntyre wrote:
the default value for net.inet.tcp.keepidle on the Mac is 144s and the interval for probing is only 1.5 secs
Taking a second look at those numbers, I realized that those are off from the expected numbers by a factor of 20 (144000=7200000/20, 1500=75000/20). A look at tcp_timer.c in the Darwin source shows they are doing a conversion on the value. It is still off by a factor of 2 from what I would have expected (would have expected 72000 instead of 144000 for a value of 2 hours), but it's likely i'm missing something. So, maybe Mac OS X isn't violating RFC1122, but the behavior described would still hold if our timeout value is above the keepalive value, whatever it may be.
Also good to note, I suppose, that the keepalive value may not actually be the length of time you expect, and setting the same value on different systems may yield different results.
andrew
