From owner-freebsd-hackers Sat Jun 24 13:41:30 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id NAA23891 for hackers-outgoing; Sat, 24 Jun 1995 13:41:30 -0700 Received: from wc.cdrom.com (wc.cdrom.com [192.216.223.37]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id NAA23884 for ; Sat, 24 Jun 1995 13:41:28 -0700 Received: from mail.barrnet.net (mail.barrnet.net [131.119.246.7]) by wc.cdrom.com (8.6.12/8.6.12) with ESMTP id NAA16091 for ; Sat, 24 Jun 1995 13:41:26 -0700 Received: from virgo.ai.net (virgo.ai.net [198.69.44.2]) by mail.barrnet.net (8.6.10/MAIL-RELAY-LEN) with ESMTP id NAA05385 for ; Sat, 24 Jun 1995 13:40:08 -0700 Received: from aries.ai.net (aries.ai.net [198.69.44.1]) by virgo.ai.net (8.6.11/8.6.12) with ESMTP id QAA01118; Sat, 24 Jun 1995 16:40:39 -0400 Received: (from nc@localhost) by aries.ai.net (8.6.11/8.6.12) id QAA02397; Sat, 24 Jun 1995 16:39:12 -0400 Date: Sat, 24 Jun 1995 16:39:12 -0400 (EDT) From: Network Coordinator To: David Greenman cc: hackers@freebsd.org Subject: Re: FreeBSD as a router In-Reply-To: <199506241954.MAA00491@corbin.Root.COM> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: hackers-owner@freebsd.org Precedence: bulk > > On a fast Pentium, it is possible to route packets at a rate >70Mbits/sec > in FreeBSD-current. ...but this is talking raw data throughput. In terms of > packets/sec, we don't do so well...about 10000 packets/sec is about tops. This > is less than 1/10th the capability of 100BASE-TX. > [I'm not questioning your results here, just curious.] How did you get the estimate of performance on a pentium? I tried [just to see a ball park figure] a tcpblast on 127.0.0.1 on a moderately loaded 486/66 and got about 1.1 Megabytes/second or 9.1 Mbits/second. I seem to have some foggy idea that the top limit of an ISA motherboard is about 10 megabits/second, but that sounds too much like the standard ether limit. On a pentium, we are under the assumption that the bus and processor aren't the limiting factor, and just BSD is slowing things down. So what is it? Second question, and related. Even if an software based router has to wait for an entire packet frame to come in before routing it, that strikes me only as a latency problem, and not a thruput problem, especially on cards that can multitask and have builtin buffers [32k in the SMC 100mbps I believe] Couldn't the driver be written to grab the entire contents of the buffer and route them all the packets at once? I can't imagine that a 486 or a Pentium is slower in horsepower than a Cisco box, even though a cisco may be able to turn them around faster. Actually, if memory serves, the clock interrupt hits many times a second. In BSD I think rtc0 is about 100 times per second. With a 32k buffer polled once per tick, you are getting MUCH higher thruput than 100megabits assuming you are on a PCI bus [scratch the 486 in that scenario]. Assuming the same thing that is polling [probably built into the kernel] can have part of gated builtin [in a router that is using nearly 100% of its bus bandwidth for routing, there isn't much left for it to do anything else] that routes. Sort of a low-level approach to it, very similar to building everything into the driver, but it would HAVE to pull very good performance as far as I can tell. The only problem would be on networks with sporadic traffic, the latency bite might be a little high. On higher utilized networks, I can't imagine 10-12 ms latency on a 80 megabit stream of packets is a problem. If I am missing something fundamental, please set me straight. -Jerry.