netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* BSD 4.2 style TCP keepalives
@ 2010-01-06  0:39 David Miller
  2010-01-06  2:07 ` Neil Horman
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: David Miller @ 2010-01-06  0:39 UTC (permalink / raw)
  To: netdev; +Cc: nhorman, ilpo.jarvinen


To make a long story short, there are still some Windows 2000
machines out there emitting BSD 4.2 style keepalives (one garbage
byte instead of an empty out-of-window probe frame).

We don't ACK these because of how tcp_sequence() sees ->end_seq
as being equal to ->rcv_wup

But we can't change tcp_sequence() to reject these frames, because if
we do then we end up mishandling connection attempts (SYN, SYN+ACK)
and retransmits of such.

Neil has shown me a patch that does a by-hand special case of this
one-garbage-byte keepalive inside of tcp_rcv_established().

Anyone have suggestions for an alternative and perhaps cleaner
implementation of a fix?

Thanks!

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2010-01-09  1:41 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-06  0:39 BSD 4.2 style TCP keepalives David Miller
2010-01-06  2:07 ` Neil Horman
2010-01-06  3:59   ` David Miller
2010-01-06 17:21     ` Rick Jones
2010-01-06 20:50       ` Neil Horman
2010-01-06  8:23 ` David Miller
2010-01-06 23:04   ` David Miller
2010-01-07  0:14     ` David Miller
2010-01-07  3:21       ` David Miller
2010-01-07  3:36         ` David Miller
2010-01-07  0:34     ` Ilpo Järvinen
2010-01-07  0:59       ` David Miller
2010-01-07  7:55         ` Ilpo Järvinen
2010-01-08 12:40 ` Neil Horman
2010-01-08 21:21   ` David Miller
2010-01-09  1:22     ` Neil Horman
2010-01-09  1:41       ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).