From owner-freebsd-net@FreeBSD.ORG Sat Dec 24 12:55:28 2005 Return-Path: X-Original-To: freebsd-net@freebsd.org 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 53C3416A41F for ; Sat, 24 Dec 2005 12:55:28 +0000 (GMT) (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 EB88643D60 for ; Sat, 24 Dec 2005 12:55:26 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 24986 invoked from network); 24 Dec 2005 13:01:26 -0000 Received: from c00l3r.networx.ch (HELO freebsd.org) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 24 Dec 2005 13:01:26 -0000 Message-ID: <43AD4540.472AC649@freebsd.org> Date: Sat, 24 Dec 2005 13:55:28 +0100 From: Andre Oppermann X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Julian Elischer References: <1135377218.010275.56487.nullmailer@cicuta.babolo.ru> <43AC874E.1010208@elischer.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Matt Staroscik Subject: Re: Good gigabit NIC for 4.11? 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: Sat, 24 Dec 2005 12:55:28 -0000 Julian Elischer wrote: > > "."@babolo.ru wrote: > > >>I've been Googling up a storm but I am having trouble finding > >>recommendations for a good gigabit ethernet card to use with 4.11. The > >>Intel part numbers I found in the em readme are a few years old now, and > >>I can't quite determine how happy people are with other chipsets despite > >>my searches. > >> > >>I'm looking for a basic PCI 1-port card with jumbo frame support if > >>possible--I can live without it. Either way, stability is much more > >>important than performance. > >> > >> > >em for PCI32x33MHz works good up to 250Mbit/s, not more > >em for PCI64x66MHz works up to about 500Mbit/s without polling Please specify the packet size (distribution) you've got these numbers from. > with 2 em interfaces on pci-express, bridging between the two > interfaces I can > bridge 930Mbits/sec. That is with filterring using ipfw on the bridge, > testing > against a single table of 128000 entries. > > (dell 2850 plus an Intel quad gig card) > I get the same thoughput even with the machine bypassed. > > I haven't tried two streams going in opposite directions to see if I can > double that, but cpu usage is around 15% You have to be careful here. Throughput and packets per second are not directly related. Throughput is generally limited by good/bad hardware and DMA speed. My measurements show that with decent hardware (em(4) and bge(4) on PCI-X/133MHz) you can easily run at full wirespeed of 1 gigabit per second with 1500 bytes per packet as the CPU only has to handle about 81,000 packets per second. All processing like forwarding, firewalling and routing table lookups are done once per packet no matter how large it is. So at wirespeed with 64 bytes packets you've got to do this 1.488 million times per second. This is a bit harder and entirely CPU bound. With some mods and fastforward we've got em(4) to do 714,000 packets per second on my Opteron 852 with PCI-X/133. Hacking em(4) to m_free() the packets just before they would hit the stack I see that the hardware is capable of receiving full wirespeed at 64 byte packets. Extensive profiling is currently underway to push the limit a lot further. -- Andre