bizarre em + TSO + MSS issue in RELENG_7
mandrews at bit0.com
Fri Nov 16 22:00:04 PST 2007
Has anyone run into problems with MSS not being respected when using TSO,
specifically on em cards?
I've run into a weird 3-way interaction with TSO, users with small MTU's
(like 576), and a Cisco firewall that by default drops packets larger than
the MSS for that session. Most users can connect to our web servers
behind this firewall just fine, but a very few couldn't since we moved
from RELENG_6 to RELENG_7 about two weeks ago. One of them could connect
again after removing a Linksys box at his end that was clamping the MSS at
536. Some of the others were on dialup which tends to use 576 MTU / 536
MSS. The firewall was dropping a lot of *outbound* traffic to these users
because the MSS was exceeded -- ~1000 byte packets for a 536 MSS
connection. All of those users' problems disappeared after disabling TSO
on our end. Pretty weird. :)
I'm quite happy running without TSO and I really don't expect this to get
looked at before 7.0-RELEASE -- I just thought the info that MSS appears
(to me anyway) to not always be respected might be useful for those
looking at TSO-related throughput issues. In our case throughput isn't
the issue, it's certain connections stalling out -- it actually behaves
sort of like (but isn't) a PMTUD issue.
I've got a lot more detail for whoever wants it (Jack Vogel, probably)
including tcpdumps and firewall logs but I thought I'd put it out here
first in case it wasn't em-specific rather than clutter the list right
away, or if it's a known issue that's already fixed in HEAD or something.
This is with em driver version 6.5.3, 7.0-BETA2 from Nov 2.
More information about the freebsd-current