From owner-freebsd-net@FreeBSD.ORG Thu Apr 16 20:41:40 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F006106566C for ; Thu, 16 Apr 2009 20:41:40 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id E5DF28FC20 for ; Thu, 16 Apr 2009 20:41:39 +0000 (UTC) (envelope-from andre@freebsd.org) Received: (qmail 3193 invoked from network); 16 Apr 2009 20:15:01 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 16 Apr 2009 20:15:01 -0000 Message-ID: <49E791C3.7060703@freebsd.org> Date: Thu, 16 Apr 2009 22:14:59 +0200 From: Andre Oppermann User-Agent: Thunderbird 1.5.0.14 (Windows/20071210) MIME-Version: 1.0 To: Renaud Lienhart References: <20090415084031.6d149fef@renaud-dev1> In-Reply-To: <20090415084031.6d149fef@renaud-dev1> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: tcp_output() might generate invalid TSO frames X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2009 20:41:40 -0000 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