Ethernet Receive Buffer Overruns
I have a system that has 4 identical ethernet cards (Intel 82555).
eth0 and eth3 talk IP and eth1 ann eth2 are not IP but talk a
proprietary protocol. I get receive overruns on the interfaces eth2
and eth3. The application that talks on these interfaces sends out a
request message to which 100's of production machines send a response
(size MTU + sizeof(ethernet header)). This sudden burst of response
overwhelms the receiver and it drops the packets.
I tried changing the CPU Saver Bundle size and also the Interrupt
Delay time. Also i tried changing the kernel level buffers. All this
to no avail. I am not sure if using a faster card would relieve or
increase the problem.
Do you have any suggestions on how to solve the problem? Also do you
need any more details? The system runs a custom linux kernel 2.4.18.
The overrun errors also occur with the 2.4.21 kernel. The e100 driver
version is: 2.3.40 and bus-info: 02:08.0 as given by ethtool. All the interaces are 100 Mbps Full Duplex. No overruns are seen on the IP segment, but its not bursty even though has significantly higher traffic that eth1 and eth2. I've tried almost everything i can think of. Thanks in advance,