Re: [PATCH 0/5] [RFC] AF_RXRPC socket family implementation [try #2]

From: David Howells
Date: Mon Mar 19 2007 - 11:42:47 EST


Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:

> > > Other RPC types use normal socket types.
> >
> > They do? Examples please. I didn't think Linux, at least, has any other
> > RPC socket families, though I could be wrong as I haven't made a thorough
> > study of them.
>
> SunRPC is implemented in user space and uses the existing TCP/IP layer
> and socket types, even though it is using them in an RPC manner and
> viewed at the RPC layer they are RPCs

SunRPC is not then a suitable analogy. There is no socket interface that
provides SunRPC as far as I know, so your example is invalid. Yes, SunRPC is
built on top of something else, SOCK_DGRAM, SOCK_STREAM or whatever, but that's
like saying TCP is a datagram service rather than a stream service because it's
built on a datagram service (IP). What a protocol uses out the back is pretty
much irrelevant - what is relevant is what the protocol in question actually
appears to provide to anyone using it.

> > I have made my client sockets use connect(), but that's just a
> > convenience and I need to make it possible to avoid doing that to
> > make it useful to the kernel. It's similar to SOCK_DGRAM sockets in
> > this respect.
>
> So use SOCK_DGRAM, its clearly near enough.

No, it's not. SOCK_DGRAM is an unreliable, unidirectional datagram passing
service.

David
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/