Paul P. Pongco wrote:
>Hi,
>
>Apologies if I am not suscribed to this list.
>
>I have setup a linux bridge using 3c905C-TX/TX-M [Tornado] cards. Im
>running it on RH 7.3 2.4.19 kernel.
>Lately, I have seen the following errors on the bridge
>
>Feb 10 07:40:24 safe kernel: eth2: Too much work in interrupt, status e401.
>Feb 10 07:40:52 safe last message repeated 3 times
>Feb 10 08:12:16 safe kernel: br0: received tcn bpdu on port 1(eth2)
>Feb 10 08:12:16 safe kernel: br0: topology change detected, sending tcn bpdu
>Feb 10 08:13:09 safe kernel: br0: received tcn bpdu on port 1(eth2)
>Feb 10 08:13:09 safe kernel: br0: topology change detected, sending tcn bpdu
>
>Im currently pushing around 45Mbs/20Mbs (down/up) of traffic on the
>bridge (doing some bandwidth management) and Im concerned about its
>performance and how it would scale.
>Thanks in advance for your advice.
>
>
It is not a bridge problem, just that bridging puts more stress on the
network driver.
The problem is that the 3c905 cards don't support interrupt mitigation,
so when lots
of network traffic hits, they drop data. The 3c59x driver allocates and
copies every
received frame in the interrupt routine. What is needed is a new driver
that does NAPI
(any volunteers)?
Or you could get different hardware that doesn't copy every packet
within the interrupt
routine. Either a card that can receive direct into the socket buffer,
or has a driver that
supports NAPI to do it in the IRQ.
I have added the linux-net list to see if anyone else has ideas.