From owner-freebsd-net@FreeBSD.ORG Thu Aug 7 11:35:10 2003 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 6316637B401; Thu, 7 Aug 2003 11:35:09 -0700 (PDT) Received: from mail.wolves.k12.mo.us (duey.wolves.k12.mo.us [207.160.214.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id C803B43FB1; Thu, 7 Aug 2003 11:35:08 -0700 (PDT) (envelope-from cdillon@wolves.k12.mo.us) Received: from localhost (localhost [127.0.0.1]) by mail.wolves.k12.mo.us (Postfix) with ESMTP id 40E0420099; Thu, 7 Aug 2003 13:35:08 -0500 (CDT) Received: from mail.wolves.k12.mo.us ([127.0.0.1]) by localhost (duey.wolves.k12.mo.us [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 25572-01; Thu, 7 Aug 2003 13:34:57 -0500 (CDT) Received: by mail.wolves.k12.mo.us (Postfix, from userid 1001) id 92BA91FEEB; Thu, 7 Aug 2003 13:34:57 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by mail.wolves.k12.mo.us (Postfix) with ESMTP id 8EB1A1BCA7; Thu, 7 Aug 2003 13:34:57 -0500 (CDT) Date: Thu, 7 Aug 2003 13:34:57 -0500 (CDT) From: Chris Dillon To: Bill Paul In-Reply-To: <20030807172712.ADB9937B401@hub.freebsd.org> Message-ID: <20030807125217.B25373@duey.wolves.k12.mo.us> References: <20030807172712.ADB9937B401@hub.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by amavisd-new at wolves.k12.mo.us cc: freebsd-net@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci if_rl.c if_rlreg.h 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: Thu, 07 Aug 2003 18:35:10 -0000 On Thu, 7 Aug 2003, Bill Paul wrote: > Pros: > > - The 8169 is very easy to program. RealTek has been very peculiar > in how it's releasing documentation for it though. They had the > manual on their site for a while, then took it down. I have a > copy at: http://www.freebsd.org/~wpaul/RealTek. Note that it has > almost exactly the same API as the 8139C+. It is good to know that they released the programming information at least once, even if on accident. Releasing it out into the open just one time is all it takes, and it is forever available as long as somebody has a copy of it. :-) > - There doesn't appear to be any alignment restrictions for data > buffers on either RX or TX (so no copies on RX needed). This is good, I know the fxp has a couple of alignment constraints, at least on receive on the Alpha, and I thought I remember discussion about being able to fix that by uploading the right microcode, but we don't have any info on how to do that. I assume the bge and em drivers don't have to deal with alignment issues either. > Cons: > > - Finding an 8169-based NIC in the U.S. market is ridiculously difficult. > I ordered my card from www.mrtechus.com, which appears to be based in > Los Angeles. I have yet to see either an 8169 or 8139C+ card in a > retail store (although I have not been to Fry's lately). I'm sure given its price it will soon find its way embedded onto many low to mid-range desktop motherboards, if not in add-in cards. The way ASUS and other vendors have been using the RTL8100 NIC and now the RTL8201 PHYs quite a bit I'm suprised the RTL8169 isn't already on some of their boards. > - The Intel and Broadcom NICs have more advanced interrupt moderation > features. I was able to achieve some TX interrupt moderation using > the 8139C+/8160's on-board timer, but haven't figured out a proper > way of doing RX interrupt moderation yet. > - High-end Broadcom NICs can have up to 4 TX rings rather than 2. > - High-end Broadcom NIC also has a very sofisticated RX filtering > mechanism that can be use to prioritize traffic into different > RX queues. > - Retains the same RX filtering mechanism as the original 8139 (1 perfect > filter for station address, 64-bit multicast hash table). So, the 8169 should do fine for the average desktop, just as the 8xx9 family has done in the past, but a high-traffic server should more than likely use a bge or em chipset. I'm not sure how many of the advanced features you mention we actually take advantage of in the Broadcom chipset, but having so many TX and RX rings could be a boon for QoS applications and routers when it comes to traffic prioritization. Thank you for such an in-depth insight! -- Chris Dillon - cdillon(at)wolves.k12.mo.us FreeBSD: The fastest and most stable server OS on the planet - Available for IA32, IA64, PC98, Alpha, and UltraSPARC architectures - x86-64, PowerPC, ARM, MIPS, and S/390 under development - http://www.freebsd.org