Re: TCP SACK issue, hung connection, tcpdump included

From: Phil Oester
Date: Sun Jul 29 2007 - 11:31:03 EST


On Sun, Jul 29, 2007 at 06:59:26AM +0100, Darryl L. Miles wrote:
> The problems start around time index 09:21:39.860302 when the CLIENT issues
> a TCP packet with SACK option set (seemingly for a data segment which has
> already been seen) from that point on the connection hangs.

I'd say most likely scenario is the SERVER is behind a Cisco Pix firewall,
which has known bugs in handling packets with sack option. By default the Cisco
has sequence number randomization enabled, but it's a half-assed implementation
which doesn't bother adjusting the sequence numbers inside sack options.

This has been reported to Cisco, and they don't seem to care. As a workaround,
you can do this:

echo 0 > /proc/sys/net/ipv4/tcp_sack

and it will probably fix it up. It'd be really nice, however, to have a per-route
option for sack, similar to how we can clamp window scaling per route. Something
like the below

ip r a <host> <gw> <nosack>

Phil
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/