nanog mailing list archives

RE: Zebra Router???


From: "Deepak Jain" <deepak () ai net>
Date: Mon, 21 Apr 2003 15:56:18 -0400


Hi All,
I'm trying to find out what peoples experiences regarding the throughput
of Zebra on a FreeBSD Box.

My configuration is as follows:

Intel Pentium III 1.40G
1 Gig RAM
2x <Intel Pro 10/100B/100+ Ethernet> (one internal, one external) on
board.

Take a closer look to DEVICE_POLLING kernel option, it can highly
increase fxp network card performance and router's max pps
parameter at all.

As we tested, typical bottleneck of PC routers is network card irq ratio
that interrupt controller can handle.

This box is running as a simple static router, i.e. one subnet on the
inside, Internet feed on the other side. No BGP, no RIP, no OSPF. Pretty
simple, eh?

So the goal is to know the bandwidth limitation of this router.
Any ideas?
I've heard numbers of 35Meg, 40 Meg, etc, however, I have not recieved a
good reason backing it up. Can anyone offer some input on this?


I would be very surprised if an out of the box FreeBSD router couldn't
easily saturate and rate-shape 100Mb/s. Even MBUFS probably wouldn't need to
be reconfigured if its just routing.

I agree with Dmitry that certain cards are notably more "chatty" with their
interrupts than others. It could also be that FreeBSD supports certain
cards' extended operation modes better than others. fxp (Intel EtherExpress)
and certain other boards are what I consider some of the best supported
ones -- Fortunately, they are the most common ones too.

If you go higher than 100Mb/s speeds, look for zero-copy boards, especially
on the Gigabit side that FreeBSD supports. You have drastically low
interrupt overhead and your speeds to move packets around increase. In my
experience, its not the CPU that gets bogged down (first) but the interrupt
load on a properly configured (software) box.

Kevin's 500Mb/s does not suprise me as I have seen those sorts of numbers
myself. Now going above 2Gb/s, that's a little trickier.

Deepak Jain
AiNET


Current thread: