Messages in this thread |  | | Date | Sun, 3 Sep 2000 19:30:30 +0200 | From | "Andi Kleen" <> | Subject | Re: zero-copy TCP |
| |
On Sun, Sep 03, 2000 at 07:21:50PM +0200, Ingo Molnar wrote: > > On Sun, 3 Sep 2000 almesber@lrc.di.epfl.ch wrote: > > > If we go for a Linux-specific solution anyway, maybe one could add > > another send{,to,msg} flag that makes send*(2)'s buffer access > > non-atomic. That way, the kernel only needs to make sure the pages > > don't disappear, but there's no need for expensive MMU games. > > > > Of course, this would give applications a way for generating packets > > with an incorrect TCP/UDP checksum, [...] > > i believe such zero-copy send should only be allowed for drivers which can > guarantee correct checksums. (ie. cards which do Tx-checksums) The other > drivers will still copy. I dont think this is a problem - the number of > cards that can do scatter-gather DMA but cannot do TX-checksumming is > rather low. (i only know about the Tulip.) All modern cards do > TX-checksumming and scatter-gather DMA.
You can already cause incorrect checksums on the wire just by passing a partly unmapped address (the zero-the-rest exception handler in csum_copy_generic in i386 forgets to add in the carry)
I do not believe it is a big deal, packets with bad checksum are not really a problem (you can usually do other better DoS that do not need it)
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |