A few questions

It looks like Click is available for FreeBSD. I'd like to test that to
see if I can gain some performance. I am having difficulty compiling it
on FreeBSD 7.1 amd64 however. If anyone has Click/FreeBSD working,
please let me know.

I've run it on my FreeBSD based workers before, but I'm not currently. You can email me offlist with the error you're encountering, I may be able to help.

The Bro wiki mentions that Click! is limited to 2Gbps in tests. I
wonder if that is still true? I was thinking about the possibility of
installing a 10 Gig card in the current server as well as some
additional 1 Gig ports.

Keep in mind that if you run Click in user land, you're not going to get anywhere near the theoretical peak and you can't run Click in kernel land on FreeBSD. I don't know if Click has driver support for any 10G interfaces to do polling in the kernel either. You may want to look into that if it's an option you're exploring.

   .Seth

That may work today: The Intel Research Labs folks have been able to get Click to move 12 Gbps through a single dual-interface PCIe x8 (pretty close to the theoretical limit, BTW) Intel 10 GigE card using kernel mode drivers and the latest Intel hardware. With a separate card for in and out on separate PCI-E busses, you might indeed be able to get 10 Gbps in and 10 Gbps packet-marked back out. I don't know if their click kernel mode drivers are available.

http://routebricks.org/pubs.html

However, Click Kernel mode only runs under Linux.

It would also probably be easier to just send packets back out a different 10 Gbps interface, and just overwrite the MAC and let a COTS switch then handle the routing to particular worker nodes, rather than having a collection of 1 Gbps interfaces.

It sounds like I should stop going down the Click/FreeBSD path and look
at Click/Linux instead.

That may work today: The Intel Research Labs folks have been able to get Click to move 12 Gbps through a single dual-interface PCIe x8 (pretty close to the theoretical limit, BTW) Intel 10 GigE card using kernel mode drivers and the latest Intel hardware. With a separate card for in and out on separate PCI-E busses, you might indeed be able to get 10 Gbps in and 10 Gbps packet-marked back out. I don't know if their click kernel mode drivers are available.

Thanks for the info. I'll try to contact them and see if their code is
available. My server is certified to run RHEL, and they have Linux
drivers available for the 10 GigE cards as well, so something like this
may work.

It would also probably be easier to just send packets back out a different 10 Gbps interface, and just overwrite the MAC and let a COTS switch then handle the routing to particular worker nodes, rather than having a collection of 1 Gbps interfaces.

You can tell I'm not a networking person. That sounds like a better,
streamlined, and more expandable idea.

Thanks,

Tyler

Just an update, the Intel Research Labs driver and Click code is available:

http://routebricks.org/code.html

I'm going to give this a try. If this works, I may be able to turn my
current Bro server into a ~10 Gbps front-end router/load-balancer. That
should be quite a bit cheaper than a commercial load balancer. Workers
could potentially be run on this server as long as they didn't degrade
the Click performance, otherwise, we could buy a switch and more COTS
servers to use as workers.

The hardware requirements appear to be Intel 'Oplin' 10GbE 82598EB NICs,
and a server with Nehalem (not VanHalen) architecture that can run Linux
kernel 2.6.24.7.

Tyler