From owner-freebsd-net@FreeBSD.ORG Tue Jan 20 12:30:33 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE79916A4CE for ; Tue, 20 Jan 2004 12:30:33 -0800 (PST) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E43743D54 for ; Tue, 20 Jan 2004 12:29:40 -0800 (PST) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.10/8.12.10) with ESMTP id i0KKTd5P013066 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 20 Jan 2004 15:29:39 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.12.9p2/8.12.9/Submit) id i0KKTYkA097987; Tue, 20 Jan 2004 15:29:34 -0500 (EST) (envelope-from gallatin) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16397.36782.415899.626311@grasshopper.cs.duke.edu> Date: Tue, 20 Jan 2004 15:29:34 -0500 (EST) To: freebsd-net@freebsd.org X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Subject: tcp mss MCLBYTES restriction X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jan 2004 20:30:34 -0000 For the case where the mtu is larger than MCLBYTES (2048), FreeBSD's TCP implementation restricts the mss to a multiple of MCLBYTES. This appears to have been inherited from 4.4BSD-lite. On adapters with 9000 byte jumbo frames, this limits the mss to 8192 bytes, and wastes nearly 1KB out of each frame. This is especially annoying because many drivers for adapters which support 9000 byte mtus allocate their own 9000 byte receive buffers and don't even use mbufs which are MCLBYTES in length. In this case, the mss restriction guarantees a nearly 1000 byte wastage per frame. Would it be OK if I made this code optional via a sysctl? Drew