Re: Windows 9x and RFC1323 [problems with tcp SACK option, help?]

Zachary Amsden (zamsden@cthulhu.engr.sgi.com)
Thu, 09 Dec 1999 18:28:09 -0800


It really wouldn't surprise me if one of the ends of your connection suffers
from SACK brain damage. SACK can easily cause problems if not done very
carefully. In a bi-directional data connection, you can have SACK options plus
tcp data in the same packet, and if you don't adjust your sending data length
to account for this, you get an over MTU packet, which is refused (or should
be) by your device driver. In most unmodified BSD stacks, such an error is
silently ignored. In addition, if your mbufs are small, the addition of TCP
options can easily overflow the mbuf (on BSD stacks).

Since it requires some serious effort to stress all the possible SACK cases, it
really wouldn't surprise me if some vendors have broken code out there.

Since the FTP-data connection isn't bi-directional, I would imagine it is the
second problem you are hitting.

To help out broken bi-directional stacks, one can reduce the advertised window
by 40 bytes.

I have a rather heavy duty testing setup which I can use to simulate just about
any type of connection - I'll run some stress on the latest linux this weekend
to see what shows up, and will verify or fix the linux end of things. Good
luck with Winboxes though.

-- 
Zachary Amsden  zamsden@engr.sgi.com  (650) 933-6919  09U-510  Core Protocols

- 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/