On Tue, Sep 25, 2007 at 08:41:25AM -0700, Garrett D'Amore wrote: > David Edmondson wrote: >> On Tue, Sep 25, 2007 at 07:57:02AM -0700, Garrett D'Amore wrote: >> >>> One might imagine that soft LSO works differently. Imagine soft-lso as >>> a subroutine, which, given a large TCP segment, and the MTU size, builds >>> a series of header mblks, and maps the data segment in one operation >>> (perhaps making use of multiple DMA cookies, etc. to deal with page >>> boundaries, etc.) giving the appearance of LSO to the upper layers, while >>> allowing a NIC that only has the simple ability to use more than 1 >>> descriptor per ethernet frame to use a single DMA setup operation. >>> >> >> The approach you describe would require that a mac driver be updated >> to support it. That would be bad. Keeping things in the common layer >> is good. >> > > Soft-LSO will require this anyway.
Why? I can accept a large packet in a MAC layer transmit function, chop it up and then present an mblk chain to the driver in a single call to its' transmit routine. dme.