Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Apr 2009 22:14:59 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Renaud Lienhart <renaud@vmware.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: tcp_output() might generate invalid TSO frames
Message-ID:  <49E791C3.7060703@freebsd.org>
In-Reply-To: <20090415084031.6d149fef@renaud-dev1>
References:  <20090415084031.6d149fef@renaud-dev1>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49E791C3.7060703>