Skip site navigation (1)Skip section navigation (2)
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>