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