Hi!

Roland Karlsson roland.karlsson at chello.se
Tue Jan 9 23:08:55 EST 2001


I have read your Click pages with great interest.

Now, we have a piece of code written in C. It is a kind of router.
It receives UDP packes, looks at the contents and sends 0 or more
UDP packets to other destinations. The sent UDP packets are partly
copies of the received UDP packets.

The code is portable and runs on Windows98/2000, x86 Solaris and
Linux. It will probably run on most other UNIX also. At least
with minor tweaks. Our main target is currently x86 Solaris.

For networking we use the regular BSD socket library - select(),
recv_from() and send_to().

It is important for us to get high performance in number of packets
routed. We have rather small packets (UDP payload of 10-400 bytes).
But, we don't get more than say 5,000-10,000 packets/second.

So, how would you do to get at least say 50,000-100,000 packets?

Do we need to run the router at kernel level?

Do we need to implement a polling driver?

Will we benefit from interfacing to the Click system?


Roland Karlsson
Terraplay








More information about the click mailing list