fxp driver performance expectations

Danial Thom danial_thom at yahoo.com
Thu Jun 15 19:58:55 UTC 2006

--- Paul Marciano <pm940 at yahoo.com> wrote:

> Hello.
> I am running FreeBSD-5.4 on a 3GHz P4 with two
> Intel
> fxp NICs running IP forwarding with polling
> enabled.
> For larger packets (e.g. 700 bytes) I am
> getting
> 100Mbps throughput port to port.
> For min-size packets (64 bytes) I am only
> seeing
> around 60Mbps.  Increasing HZ and the polling
> parameters does not help.
> I tried a couple of Gigabit Ethernet cards,
> using the
> em driver and they can sustain 100Mbps.
> For further comparison I tried a recent Linux
> install
> and got a little over 20Mbps for 64 byte
> packets.  So
> much for that.
> Does anyone know if I should be expecting more
> performance out of the fxp?  Again, the em NICs
> work
> beyond 100Mbps with min sized frames.
> I want to know if there's more performance to
> be had
> from the hardware.  My working assumption is
> that the
> driver is mature, it's a popular NIC, so maybe
> I'm
> getting all there is out of it.  However, if
> the
> driver has been written optimized for larger
> packets
> at the expense of smaller packets, then perhaps
> there's work I can do.
> The goal, by the way, is to forward min-sized
> frames
> at line rate.  It's a dumb goal, but one that
> marketing people care about.

You couldn't do 100Mb/s with em on a 100Mb/s line
with min packets, because there are gaps between
packets so its impossible. The more packets, tor
more gaps. Where the em cards PCI-X? Realize that
fxp parts are only 32bit/33mhz so the bus is a
factor. Although its a 1Gb/s bus, thats only when
bursting, so its really substantially less. With
shorter packets you have more setups and I/O and
therefore more overhead on the bus. fxp performs
similarly to an em controller when they are both
on a 32bit/33mhz bus in Freebsd 4.x. 5.x is about
20% slower than 4.x, but I expect the drivers to
be about the same for 5.x as well.

Are you using a traffic generator, or are you
relying on some server to return packets?

If you want to test the ethernet cards
themselves, you are better off using bridging
rather than IP forwarding, to get some of the OS
and IP stack fat out of the equation.

We have customers with fxp interfaces on freebsd
4.x pushing 90Mb/s+ (while doing a lot of other
processing also), so its certainly possible. But
you have to understand what you're testing, and
avoid making the mistake of comparing apples to


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the freebsd-questions mailing list