Re: TCP IP Offloading Interface

David S. Miller
2003-07-14T00:37:12Z

On Sun, 13 Jul 2003 20:46:38 -0400
Valdis.Kletnieks@vt.edu wrote:

> On Sun, 13 Jul 2003 16:53:23 PDT, "David S. Miller" said:
>
> > I really don't see why receive is so much of a big deal
> > compared to send, and we do a send side version of this
> > stuff already with zero problems.
>
> Well.... there's optimizations you can do on the send side..

I consider the send side complete covered already. We don't
touch any of the data portion, we only put together the
headers.

> It's hard to do tricks like that when you don't know (for instance) how
> many IP option fields the packet has until you've already started sucking
> the packet off the wire - at which point either the NIC itself has to be clever
> (Hmm, there's that IP offload again) or you have literally about 30 CPU cycles
> to do interrrupt latency *and* decide what to do....

There are cards, both existing and in development, that have
very simple header parsing engines you can program to do stuff
like this, it isn't hard at all.

But this is only half of the problem, you need a flow cache and
clever RX buffer management as well to make the RX side zero-copy
stuff work.