[Barrelfish-users] net-test -> redirect_pause not supported anymore

Pravin pravin at inf.ethz.ch
Mon May 6 17:43:43 CEST 2013


Hi Richard,

Most of the ``net-test`` code was written to test the working of a
socket interface under inheritance of sockets from one process to
other (similar to inheritance when when new process is forked in *nix
environment).  This socket inheritance was implemented as a hack for
one of the project we were working on around year ago.  Currently,
Barrelfish is moving away from Posix-style socket interfaces and hence
socket inheritance has been ignored for a while.

So, if you want to get the ``net-test`` working just to test the basic
networking, then it should be doable by removing the code which calls
``spawn_child``.  But if you need functionality to create new domains
(ie. processes) which should inherit the listening socket from parent
process then it will be more difficult, and will involve
re-introducing few of the old hacks related to rpc ``redirect_pause``
and ``redirect`` from the code-history.

If you need a way to distribute connections between different domains
(which is what socket inheritance achieves in this case), you may find
it easy to do that by inserting specific filters directly into the
driver to classify specific flows.  This will need some hacking in
``netd`` and the ``net_queue_manager`` but it will be much cleaner
solution.

I hope this helps.

Regards,
Pravin


On Mon, May 6, 2013 at 2:59 PM, 李才 <licai at pku.edu.cn> wrote:
> Hi All,
>
>     The net-test does not work. Does any one know why? Is there any way to make it work?
>
>     I found that the net-test calls the redirect_pause function, which is not supported anymore.
>
>     This is the call stack of the net-test:
>     main -> do_server -> spawn_child ->
>     spawn_setup_fds ->     copy_lwip_fd ->
>     lwip_serialise_sock -> netconn_pause ->
>     TCPIP_APIMSG(&msg) //msg.function = do_pause ->
>     tcp_pause -> idc_pause_tcp -> idc_pause ->
>     net_ports_rpc.vtbl.redirect_pause //commented
>
>     And the ./if/net_ports.if has already commented "rpc redirect" and "rpc redirect_pause".(Why it is commented, anything wrong with it? I can not find the implemetation of functions. Where can I find it?)
>
>     What can I do to make the net-test work?
>
>     Thanks so much!
>
> Regards,
> Richard
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users



More information about the Barrelfish-users mailing list