Messages in this thread |  | | Subject | Re: zero-copy TCP | Date | Sun, 3 Sep 2000 00:00:13 +0100 (BST) | From | Alan Cox <> |
| |
> There is a checksum field in IPX, but it always contains xFFFF. Drew > always assumed upper layer programs, like NDS, would do heir own > checksumming for integrity, and in fact, this is how it's instrumented > in NetWare.
Which is actually a design flaw on a modern architecture since it may cause the packet to bounce twice through cache if the network controller is PIO. Much less of an issue at the time netware 3 was designed
> IPX headers and responses, in fact, the entire **REAL** IPX interface is > completely built around this concept internal to NetWare, and everything > is treated like a fragment list.
(Fragmented on wire I mean here - sorry - I forgot netware folks use other terminology)
> **NCP** is does not reside in IPX at all. That's why the implementation > in Linux is busted. The window size is variable and keys off of HOW > MANY FREE ECBS ARE IN THE SYSTEM. It doe not belong in the IPX/SPX > stack, but inside of MARS-NWE proper.
Packet burst is in MARS-NWE not the kernel IPX code. Our IPX code actually doesnt know about NCP at all - so it has no fast paths or kernel helpers for the cache. It means we are materially poorer but we dont have to maintain magic for NCP. If you were doing a Linux netware clone you would want a kncpd for the cache hit cases
> > The I/O size was typically 512-1024 bytes so you couldnt do page flipping, but > > since these were all trusted paths nobody I suspect worried to much. > > 576 bytes. Drew came up with this because he did not want to fuck
(minus headers)
> > You could build the same architecture with NFS and a very smart card. The acenic > > has firmware powerful enough to do the require RPC parsing. > > Good idea.
Alan
- 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/
|  |