[Click] RX Overruns with eepro100

coldwell at mazunetworks.com coldwell at mazunetworks.com
Thu Jul 31 13:58:05 EDT 2003


On Thu, 31 Jul 2003, Barry Gowan wrote:
> 
> Hello, 
> Can someone please shed some light on how interface
> overruns can happen when using click with PollDevice. 

The E1000 card has a hardware FIFO that gets transferred to a software
ring buffer of sk_buffs in the driver with producer/consumer pointers
stored in hardware registers.  If the ring buffer is empty, a received
packet will be stored in the hardware FIFO until one becomes
available.  If the FIFO fills up before one becomes available, the
packet is dropped and an overrun gets counted.

The Click PollDevice element calls _dev->rx_refill in its "run_task"
method.  This is the device-specific function which refills the ring
buffer with allocated (but empty) sk_buffs for received packets.  If
run_task is not called before all the buffers from the last refill are
consumed, you will get overruns.

Chip

-- 

Charles M. "Chip" Coldwell
"Turn on, log in, tune out."



More information about the click mailing list