From owner-freebsd-net@FreeBSD.ORG Thu May 31 18:29:08 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B260C16A468 for ; Thu, 31 May 2007 18:29:08 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out2.smtp.messagingengine.com (out2.smtp.messagingengine.com [66.111.4.26]) by mx1.freebsd.org (Postfix) with ESMTP id 8E8A513C4B7 for ; Thu, 31 May 2007 18:29:08 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 2E4C6229250; Thu, 31 May 2007 14:29:08 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Thu, 31 May 2007 14:29:08 -0400 X-Sasl-enc: KF2Hnnee+QF7RyQnSXZaZYLlN4h/5BvW4cSzOO3Uzisg 1180636147 Received: from [192.168.123.18] (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTP id A94F626C1F; Thu, 31 May 2007 14:29:07 -0400 (EDT) Message-ID: <465F13F2.7070404@FreeBSD.org> Date: Thu, 31 May 2007 19:29:06 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 1.5.0.10 (X11/20070407) MIME-Version: 1.0 To: Jack Vogel References: <2a41acea0705301645x65e68e8q23c1b91d5f460ea3@mail.gmail.com> <20070531133828.GB4675@obelix.dsto.defence.gov.au> <2a41acea0705311056y7064ae79y6cd7a6a46d05c13b@mail.gmail.com> In-Reply-To: <2a41acea0705311056y7064ae79y6cd7a6a46d05c13b@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: driver packet coalesce 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, 31 May 2007 18:29:08 -0000 Jack Vogel wrote: > On 5/31/07, Wilkinson, Alex wrote: >> 0n Wed, May 30, 2007 at 04:45:05PM -0700, Jack Vogel wrote: >> >> > Does any driver do this now? And if a driver were to coalesce >> > packets and send something up the stack that violates mss >> > will it barf? >> >> erm, what is meant by "coalesce" ? >> > combining packets before sending to the stack, aka LRO. Yup - the firmware for the card's LRO engine would have to know not to coalesce packets not destined for the local host. I speculate many cards are not smart enough to do this, and LRO is an all-or-nothing proposition, as it's a technology designed to optimize for hosts, not routers; see recent discussions/slanging matches on end2end. At the moment there is no central place where we track all layer 2 addresses for which traffic should be delivered locally. This would logically belong in struct ifnet, and clients e.g. CARP would have to be taught to add their layer 2 endpoint addresses there. It seems acceptable to disable LRO if bridging is on and document this behaviour. BMS