On Sun, Sep 23, 2001 at 02:54:29PM -0000, Wilfred Ling wrote:
> Hi,
Hi,
> I am doing some benching marking on the bridging code on Linux 2.4.9. Using
> iperf as the traffic generator, I found that a 486-133MHz with 32MB is able
> to handle UDP traffic of up to 90Mbits/sec
Using full-size packets, I assume?
> but the entire machine crashed miserably with TCP traffic. Netfilter is
> not turn on and so this is just the
> pure bridging part. The NIC card I used are Intel 82559ER. The kernel
> messages indicated that the Intel drivers ran out of memory to allocate its
> skbuff. This does not happen with the bridging turn off and with the machine
> acting as a router or a NAT.
Do you use the driver that comes with the kernel?
> I suspect that the bridging code may be spending
> too long processing the packets in the queue and that the skbuff are not put
> back to the transmission queue fast enough. I may be wrong of course.
I think you are. In fact, people have had problems before because the
bridge code spends less time on processing packets than IP routing does, and
thus keeps the hardware busier.
Even so, it's just silly that this crashes your machine. I assume you had
an oops? Can you identify the section of code where your machine crashed
(I assume in the NIC driver) ?
> I did observed, however, that this do not happen on a 700MHz Athon CPU even
> though I am using the same NIC cards but I could feel that the Athon machine
> becomes sluggish when the traffic is high. Could anybody let me know whether
> are there any kind of rate control in the bridging code?
No. You can use output queue control, but that doesn't protect you from
receive interrupts livelocking your machine. The only 'fix' is to throttle
your network cards during heavy congestion. See
ftp://robur.slu.se/pub/Linux/tmp/FF-NordUSENIX.pdf
cheers,
Lennert
_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge