network protocol stacks in userspace
Maxim Sobolev
sobomax at FreeBSD.org
Thu Jul 10 19:37:29 UTC 2008
Maksim Yevmenkin wrote:
> somewhat generic implementation. each pru_xxx request loops back to
> user space in a form of an event/message. such events could be
> completely synchronous (blocking connect(), accept(), read() etc.) or
> asynchronous (non-blocking connect(), etc.). each "loop" socket will
> have either no or very little pcb associated with it - it will just
> the socket's state. from user space each "loop" socket will be
> accessible using its file descriptor and regular socket api and via
> /dev/loopsock device node (or possibly create device node for each
> "loop" socket).
Not necessary the best way to do it in this case, but one approach would
be to have some kind of "syscall diversion" layer, which would allow
some/all syscalls issued by one process to be diverted for actual
execution to another userland process. I am sure such layer could have
other interesting applications.
-Maxim
More information about the freebsd-current
mailing list