tcp_output() might generate invalid TSO frames
andre at freebsd.org
Thu Apr 16 20:41:40 UTC 2009
Renaud Lienhart wrote:
> 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'
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.
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.
More information about the freebsd-net