tcp_output() might generate invalid TSO frames

Andre Oppermann andre at freebsd.org
Thu Apr 16 20:41:40 UTC 2009


Renaud Lienhart wrote:
> Hi,
> 
> We're having trouble virtualizing FreeBSD 7+ on ESX because of an issue
> with the stack's TSO implementation: it sometimes generates TSO packets
> whose payload size is actually smaller than the MSS.
> 
> The faulty logic is described, along with a patch, in PR #132832. It
> has been opened for a while now, without any apparent activity, which
> is why I'm reaching the mailing list directly.
> 
> ESX currently drops these packets as many physical nics are known to
> choke on such frames, which effectively limits FreeBSD guests'
> performance.

Network cards should not choke on frames with TSO but less than one MSS
worth of data.  Though it's not useful to create such frames in the stack.

> I don't know about other virtualization stacks' behavior.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/132832

Your patch should fix the issue.  I don't have time to commit it and to
run the MFC process though.  Maybe Kip or Jack can run that process.

-- 
Andre



More information about the freebsd-net mailing list