Click-Router Performance

Robert Morris rtm at amsterdam.lcs.mit.edu
Tue Nov 6 09:32:09 EST 2001


Sven,

Yes, the polling modifications we made to the Tulip device driver
explain the performance difference you see. My recollection is that we
were able to forward only about 70,000 p/s using the standard Linux
interrupting device driver.

If you want high forwarding performance, you should use one of our
polling drivers (with the PollDevice Click element), or modify the
3c905c driver to support polling. We supply polling drivers for the
Tulip, the Intel EtherExpress Pro 100B, and the Intel Pro/1000 server
adaptor.

Robert

> Date: Tue, 06 Nov 2001 15:26:58 +0100
> From: Sven Hirsch <hirschs at gmx.de>
> To: click at amsterdam.lcs.mit.edu
> Subject: Click-Router Performance
> 
> Hi,
> 
> We are doing some performance measuring with the Click-Router at the
> moment and we're getting some strange results.
> 
> First our configuration:
> We have three Athlon 700Mhz machines running Debian Linux with Kernel
> 2.2.18. Two of them are equiped with a 3com Torpedo 3c905c interface
> card. The third has two of those. The Click-Router runs in kernel-mode
> and is compiled with the --enable-greedy option.
> 
> We have a very simple setup to determine how many 64 Byte packets can be
> handled by the Click-Router without loosing packets in the FIFO-queues
> of the network interface cards. The two computers with the single
> interface card create 64 Byte packets with the RatedSource element. This
> packets contain the MAC address of the interface card of the 'middle'
> computer, to where they are send. This machine counts the arriving
> packets after the FromDevice element and 'forwards' them to the other
> interface. The config files look basically like this:
> 
> 	'left' and 'right' computer
> 
> 	RatedSource( DATA \<64 Bytes starting with MAC address>, RATE X ) ->
> ToDevice( eth0 );
> 
> 	'middle' computer
> 
> 	FromDevice( eth0 ) -> Counter() -> Queue( 200 ) -> ToDevice( eth1 );
> 	FromDevice( eth1 ) -> Counter() -> Queue( 200 ) -> ToDevice( eth0 );
> 
> We also use a seperate network analyzer to monitor the traffic on the
> links (100Mb full-duplex).
> 
> If we send just from the 'left' or the 'right' computer, the 'middle'
> one can handle up to 50000 packets per second, which is a lot less than
> the 400000 packets, Eddie mentions in his thesis. Though this was
> achived with the special device driver I guess we should get a much
> better result here. Sending from both 'edge' machines simultaneously, we
> can handle 28000 packets for each interface.
> 
> Does the tulip device driver make such a difference or what can we do to
> get a propper performance with our router's??? Does the packet size play
> a role in how many packets can be handled???
> 
> Any ideas??? Thanx in advance...
> Sven and Niko




More information about the click mailing list