lkml.org 
[lkml]   [2000]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: zero-copy TCP
On Sun, Sep 03, 2000 at 12:00:13AM +0100, Alan Cox wrote:
> > **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

Hi Alan,
there is ncpfs. It is client, not server... Main problem is that
packet burst protocol is that it is only for file reads and writes,
you cannot use it to listing (large) directories, or to return large
replies from NDS in one exchange.

Fortunately NW5 can do NCP over TCP and UDP and ncpfs (in 2.4) currently
uses 60KB NCP window when talking over TCP to NW5. Due to nature of NCP
protocol it is much faster than with 1KB (or 1.5KB) window used for IPX or
UDP... Unfortunately, server allocates this handshaked window size of memory
for your connection, so 1000 conns with 60KB handshaked window consume 60MB
of memory...

I do not plan implementing packet burst in ncpfs at all... NW5 does IP
reasonably well to let IPX die.

> > > 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)

Fortunately when Novell included packetburst code, they also added real
IPX MTU discovery into NCP (unfortunately, they really build it into NCP,
so f.e. SPX2 uses different handshake). That way it usually uses 1.45KB
window on ethernet and 4.2kB on tokenring (unless you changed some
settable value in server configuration - then you can go up to your
16KB tokenring limit).
Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz

-
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/

\
 
 \ /
  Last update: 2005-03-22 12:38    [W:0.079 / U:28.476 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site