[Click] RX Overruns with eepro100

Eddie Kohler kohler at icir.org
Thu Aug 7 18:32:24 EDT 2003


Hi Barry,

> I have an eepro100 4 port copper card on each of 2
> boxes. The ports are connected back to back with 4
> crossover cables.  The Click configuration has 4
> ToDevice and 4 PollDevice elements, one for each
> eepro100 interface. 
> 
> If I use this configuration to send, say 5000 packets
> per second per interface, 1500 byte packets, both
> direction, what happens is this:
> The TX interface stats on both machines show 5000pps
> ok.
> The RX intrerface stats for all interfaces on both
> machines show only 3000-4000 pps, and the RX Overruns
> consequently increase by ~1000 per second. 

It's not entirely surprising; you may be running into the limits of your
machine here. You didn't say what your PCI bus speed and width are, but
there is certainly going to be a fair amount of contention. You're
essentially trying to forward 20000 1500b packets a second -- 240
Mb/s. This is above a 32/33 PCI bus's maximum throughput, and close to the
max throughput of a 64/33 bus, and that's not even counting contention.

You could probably distinguish PCI overload from CPU overload by checking
out some of the cards' counters, in combination with the per-device
"cycles" information you get from compiling with
CLICK_DEVICE_STATS. For instance, if the PollDevices *always* succeed (the
incoming DMA rings are never empty), that's a good sign that the CPU is
overloaded. There was a thread on the list recently about
CLICK_DEVICE_STATS et al;
https://amsterdam.lcs.mit.edu/pipermail/click/2003-June/001986.html

Eddie


More information about the click mailing list