Subject: Re: multi-core router
To: Bill Stouder-Studenmund <>
From: Adam Hamsik <>
List: tech-kern
Date: 11/04/2007 01:01:35
On Nov,Saturday 3 2007, at 9:50 PM, Bill Stouder-Studenmund wrote:

> At the last San Diego BSD users group meeting we had an interesting
> discussion about which would be a better pf platform: FreeBSD or  
> OpenBSD.
> The choices were OpenBSD 4.2 with the updated pf (supposedly lots of
> performance improvements) or FreeBSD 5.3 I think it was. The perceived
> disadvantage of FreeBSD was a slightly older pf (shouldn't be hard  
> to fix)
> and the advantage would be the ability to use more than one core. You
> can't really buy UP Intel chips anymore (well, you can buy  
> Celerons, but
> why not just get a Core 2 Duo), and Core 2 Quad isn't that much more.
> The target setup involves three NICs. One to the outside, one to the
> inside, and one to the failover box.
> So that leads me to two questions for these lists.
> 1) How would you design a router to make use of multiple cores. We've
> talked about different multi-core setups for running the TCP stack  
> on one
> core and IP on another and so on to sustain 10 GigE TCP  
> connections. But
> this case is different in that all we're doing is NAT and forwarding.

I hope that this is not to out form this mail scope.

In IBM big iron(Zseries, iSeries) there are coprocessors for  
everything from crypto to IO operations. Because of these  
coprocessors mainframes are so good in io operations.
It would be  cool if we can dedicate some function from kernel (io,  
IP stack, TCP stack etc...) to one or more cores in the system. I  
don't know if this is possible in classic unix kernel, IBM mostly  
implements this in their firmware. Can you see any benefit from this ?