On Thu, 2002-10-17 at 18:36, Jeff Garzik wrote: > To sum, it's a dumb idea :) > > Now, to be more productive, there are several things vendors can offload > onto cards for acceleration: > * Rx/Tx checksumming > * TCP segmentation offloading, for Tx > * SMP-friendly packet buffering and reassembly, for Rx > * other stuff > > "offload everything" is just the easy thing marketing departments come > up with. You need real engineers with intimate knowledge of TCP to come > up with good solutions for offloading specific portions of the TCP and > UDP work into hardware, while still retaining the flexibility offered by > the features present in the Linux TCP stack. You make some good points, but it seems to me that it should be simple enough to offload the complete TCP fast path for selected connections. This would mean storing socket buffers accessible by the NIC, basic window management, timestamps option processing, and RTT sampling, but no retransmission logic. As soon as you get and RTO, reordering, or duplicate acks, you can interrupt the CPU and fall back to the slow path, and you can still utilize individual accelerated features. Designing the logic to select which connections to offload would be an interesting excercise. MikaL - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html