With the 2.6 kernel, it seems that a single CPU is used to service a single NIC. I've read a paper on NAPI that explains why this is done, and that makes sense. However, it does mean you can't scale a Linux box horizontally (i.e. more CPUs) to increase its maximum loss-free forwarding rate. So I'm thinking of getting a couple of 4-port cards and using channel bonding to produce two bonded interfaces, each serviced by 4 ports. But I worry. :-) Will the code path from packet receipt, through Netfilter, and up to packet transmission fix one bonded interface to a single CPU, or is the limitation that only one CPU is used to service a single physical NIC? Thanks, Sheldon.