amd64/134486: Wrong MSS in outgoing packets for non-default (1460) MSS

Michael Sinatra michael at rancid.berkeley.edu
Tue May 12 14:10:33 UTC 2009


On 5/12/09 4:20 AM, Andrey Voitenkov wrote:
> The following reply was made to PR amd64/134486; it has been noted by GNATS.
> 
> From: Andrey Voitenkov <av at holymail.biz>
> To: bug-followup at FreeBSD.org
> Cc: av at holymail.biz
> Subject: Re: amd64/134486: Wrong MSS in outgoing packets for non-default 
> 	(1460) MSS
> Date: Tue, 12 May 2009 13:50:29 +0300
> 
>  Workaround:
>  ifconfig fxp0 -rxcsum -txcsum -tso
>  (works for em0 also)

I have seen this same problem on i386 with a TSO-capable fxp0 interface. 
  You can also work around the problem with:

sysctl net.inet.tcp.tso=0

This issue was mentioned elsewhere on one of the FreeBSD lists, but I 
can't seem to locate it now.  It seems that if TSO is enabled, the 
system sends packets up to the system's *own* interface MTU-40, ignoring 
the MSS.  After failing to received a delayed ACK, the system drops back 
to the correct frame size, but the resulting delay makes the connection 
really slow.

Like I said, I can reproduce this behavior on an i386 system with a 
TSO-capable fxp interface and can send tcpdump output very similar to 
Andrey's if needed.

michael


More information about the freebsd-amd64 mailing list