Date: Thu, 10 Jul 2008 12:17:59 -0700 From: Maxim Sobolev <sobomax@FreeBSD.org> To: Maksim Yevmenkin <maksim.yevmenkin@gmail.com> Cc: freebsd-current@FreeBSD.org Subject: Re: network protocol stacks in userspace Message-ID: <48766067.6090008@FreeBSD.org> In-Reply-To: <bb4a86c70807100947g5d4abff8w73fcdfca12fa384e@mail.gmail.com> References: <bb4a86c70807100947g5d4abff8w73fcdfca12fa384e@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48766067.6090008>