Linux router (don't laugh) WAS:Re: test

> Attached is an mrtg graph from someone decided to throw about 8MB of
> garbage our way for a few hours. This little linux router just sat there
> and idled through it.
And you point? [PC's as routers is as old as the hills, loads of
ISP's do it].

Anyone know where to get some multi-port (not hub/switch, but true distinct
ports) NIC cards that are in the price range of N times the cost of a normal
NIC card, compatible with Linux? I have a project that needs 12 to 20 ports.
I've stuffed 4 NIC cards into a Linux box and it handles that OK. But I'd
like to get more in there at proportional cost (I can hack the kernel if it
needs any table size increases ... viva la source).

For one thing I'd like to isolate all our colocation boxes into their own
individual subnets.


Znyx ( and Adaptec both make quad cards based on
the DEC Tulip chip. I think Intel has a dual 82558 card. Expect
to pay a substantial premium over the per-interface cost of single
cards. You have to weigh that against the convenience/efficiency/etc.
of getting all those ports into one box.

Can't say whether these will work with Linux. I use FreeBSD. I have
one box (a Pentium 133, if I recall correctly) with 14 Ethernet interfaces:
3 quad cards, 1 single, and an ISA NE-2000 clone on a particularly
lightly used network. Works fine.

The limiting factor ends up being PCI bus bandwidth. You'll be hard
pressed to squeeze more than 100-150 Mb/s of total throughput out
of the router, since every bit takes two trips across the PCI bus:
from the device to main memory, and back. If you can figure out
how to diddle IP headers while the packet is in the card's buffers,
and then do a card-to-card PCI transfer (i.e., without going to main
memory), you can probably do a bit better. I haven't tried this,
so consider it a hypothesis.

Jim Shankland
Flying Fox Computer Systems, Inc.

You have two problems with this and they're both PC hardware-based.
1) IRQs are limited, if you subvert the printer and COM IRQs and have a
single SCSI card for your disk (and the required SVGA display controller),
you can use IRQ 3,4,5,7,11,12,14,15. This will max you out at 8 NICs on a
linux box. Each NIC must have its own IRQ.
2) It makes no sense to have 100baseTX on anything less than a PCI slot,
very few motherboards have more than four or five of these. In addition
they only have four or five ISA slots, but one of them is physically shared
with the PCI slots. You can put 10baseT on the ISA slots, but I wouldn't
recommend 100baseTX there (3com 3c515 does 100baseTX on an ISA bus but
throughput is slow, even for a single NIC).

So, if you are only doing 10baseT, you can have a mix of ISA/PCI NICs for a
maximum total of eight NICs before you start running into serious hardware
limitations. For 100baseTX you have a maximum of four NICs. Total cost
should be under $900US, if you are running Linux, plus the time it takes to
configure this mess (about three daze [call it a week]).

Some NICs can share IRQs across slots.


Can't 3Com Etherlink NICs operate on IO addresses only?

- -----Original Message-----