(somebody should invent a "better" name for this) We do have a support of file-system engine in userspace process. Could we have a socket interfaced network protocol engine in userspace ?
I would like to place things like AX.25 service into userspace, but have application codes to use kernel socket API (and even ABI) as if the service is in the kernel. Required bandwidth for many of these protocols is quite small, therefore having those within the kernel is unnecessary. (Not to mention that quite many system integrators choose not to turn them on...) The aim of "NUSE" from applications point of view would be to be indistinguishable from kernel implemented services. What would this require from the service hook side ? - Socket read and write can be trivialishly done like a pipe in between processes - Somehow pass ancilliary data for: - socket, socketpair - connect, bind - accept - listen - getpeername, getsockname - sendto, send - recvfrom, revc - setsockopt, getsockopt - poll / epoll ? Death of the protocol engine process must also destroy all existing sockets of the served protocol type, and refuse to generate any new sockets of the type. The first protocol that I have in mind to implement on top of this service does not need very much of local sockets. (It is called "STANAG-5066" - radio data communication on HF frequencies. Specification is written by NATO, thus "STANAG", but my use plans for it are more along the AX.25 ham-radio things.) /Matti Aarnio - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html