From owner-freebsd-net@FreeBSD.ORG Wed Oct 3 20:21:33 2007 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 3176C16A420 for ; Wed, 3 Oct 2007 20:21:33 +0000 (UTC) (envelope-from cristi@net.utcluj.ro) Received: from bavaria.utcluj.ro (unknown [IPv6:2001:b30:5000:2:20e:cff:fe4b:ca01]) by mx1.freebsd.org (Postfix) with ESMTP id 83A9313C44B for ; Wed, 3 Oct 2007 20:21:32 +0000 (UTC) (envelope-from cristi@net.utcluj.ro) Received: from localhost (localhost [127.0.0.1]) by bavaria.utcluj.ro (Postfix) with ESMTP id 5A3F65084F for ; Wed, 3 Oct 2007 23:21:31 +0300 (EEST) X-Virus-Scanned: by the daemon playing with your mail on local.mail.utcluj.ro Received: from bavaria.utcluj.ro ([127.0.0.1]) by localhost (bavaria.utcluj.ro [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qwxJGNZSdbeL for ; Wed, 3 Oct 2007 23:21:25 +0300 (EEST) Received: from [172.27.2.200] (c7.campus.utcluj.ro [193.226.6.226]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by bavaria.utcluj.ro (Postfix) with ESMTP id 48A7550899 for ; Wed, 3 Oct 2007 23:21:25 +0300 (EEST) Message-ID: <4703F9C3.2060601@net.utcluj.ro> Date: Wed, 03 Oct 2007 23:21:23 +0300 From: Cristian KLEIN User-Agent: Thunderbird 1.5.0.13 (X11/20070824) MIME-Version: 1.0 To: freebsd-net@freebsd.org X-Enigmail-Version: 0.94.2.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: FreeBSD as a gigabit router 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: Wed, 03 Oct 2007 20:21:33 -0000 Hi list, A few days ago I tested whether a FreeBSD 7 box is able to handle Gigabit traffic. So I used a Cisco 7600 and added static routes from the router to the box and from the box to the router, so that some packets would loop between the two. Then I externally injected 30Mbps of "ping -f -t 255 -s ", which should have generated a "maximum" of 3,6Gbps. I then used nload on the box to graph the bandwidth. The box is a Intel Core 2 Duo, with a PCIe re NIC. I used FreeBSD i386 with polling and fastforwarding. No WITNESS, INVARIANTS or firewalls. I was amased to see that injecting 1000 bytes packets gave a maximum throughput of 650Mbps, while 1400 bytes gave 750Mbps. During both tests one core was 98% idle, while the other one was more than 80% idle. Can anybody point me what the bottleneck of this configuration is? CPU was mostly idle and PCIe 1x should carry way more. Or is the experiment perhaps fundamentally flawed? Thanks.